Re: [WiX-users] A bug?-get REG_SZ when using type="integer"

2007-05-25 Thread BES Installer

I'm seeing the same behaviour.

In my component I have the following lines:



   
 
   

In the resulting package, the relevant line in the Property table is:

Property = PORTVALUE, Value="1234"

In the Registry table, Value = #[PORTVALUE].

When I run this on a fresh install, it correctly writes a DWORD with value
1234.
When in maintenance/upgrade, it writes a string with value #1234.

As far as I can tell, the value being retrieved from AppSearch is "#1234"..
but then when it tries to write it to the registry, the registry value
resolves to ##1234 which is a REG_SZ.

Does anyone know what I should be doing in this case?  Or does no one beside
me ( and the original poster, apparently) try to preserve DWORD registry
values?

Thanks,
:D

On 5/15/07, Bob Arnson <[EMAIL PROTECTED]> wrote:


 Bei Liu (Volt) wrote:

 When use the , set the Type="integer",

result: REG_SZ,

expect: REG_DWORD



Is this bug?


Unlikely but it's impossible to say without more details. Can you show a
minimal example that repro's the problem?

--
sig://boB
http://joyofsetup.com/


-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] A bug?-get REG_SZ when using type="integer"

2007-05-25 Thread BES Installer

So to achieve the desired behaviour, setting the RegistryValue to Type
string but passing in a #-prefixed value will work with no side-affects,
correct?  I mean, besides being conceptually wonky, of course.

That is,



   
 
   

Will write a DWORD on install, and also a DWORD on reinstall/upgrade?

:D


On 5/25/07, Rob Mensching <[EMAIL PROTECTED]> wrote:


 Unfortunately, by design.  That's the Windows Installer behavior for
RegSearch.  The MSI SDK will have more details if you desire.



*From:* [EMAIL PROTECTED] [mailto:
[EMAIL PROTECTED] *On Behalf Of *BES Installer
*Sent:* Friday, May 25, 2007 7:43 AM
*To:* Bob Arnson
*Cc:* Bei Liu (Volt); wix-users@lists.sourceforge.net
*Subject:* Re: [WiX-users] A bug?-get REG_SZ when using type="integer"



I'm seeing the same behaviour.

In my component I have the following lines:




  


In the resulting package, the relevant line in the Property table is:

Property = PORTVALUE, Value="1234"

In the Registry table, Value = #[PORTVALUE].

When I run this on a fresh install, it correctly writes a DWORD with value
1234.
When in maintenance/upgrade, it writes a string with value #1234.

As far as I can tell, the value being retrieved from AppSearch is
"#1234".. but then when it tries to write it to the registry, the registry
value resolves to ##1234 which is a REG_SZ.

Does anyone know what I should be doing in this case?  Or does no one
beside me ( and the original poster, apparently) try to preserve DWORD
registry values?

Thanks,
:D

On 5/15/07, *Bob Arnson* <[EMAIL PROTECTED]> wrote:

Bei Liu (Volt) wrote:

When use the , set the Type="integer",

result: REG_SZ,

expect: REG_DWORD



Is this bug?


Unlikely but it's impossible to say without more details. Can you show a
minimal example that repro's the problem?

 --

sig://boB
http://joyofsetup.com/


-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] [WIX-users] Preserving a value from the registry

2007-05-30 Thread BES Installer

Hi there,

I'm trying to create an installer package that writes a default value on a
fresh install but preserves a changed value on upgrade or maintenance.

What I did was author my MSI package in the following way:



   
 
   

In the resulting package, the relevant entry in the Property table is:

Property = PORTVALUE, Value="1234"

In the Registry table, the relevant entry (partial) is Value = #[PORTVALUE].


When I run this on a fresh install, it correctly writes a DWORD with value
1234.
When in maintenance/upgrade, it incorrectly writes a REG_SZ with value
#1234.

As far as I can tell, the value being retrieved from AppSearch is "#1234"..
but then when it tries to write it to the registry, the registry value
resolves to ##1234 which is a REG_SZ.

It seems that this could easily be fixed by me modifying my Property table
in the following way:

Property = PORTVALUE, Value=" #1234"

And in the Registry table:

But there don't seem to be easy ways to do this.  It looks like I would set
my RegistryValue @type to "String" and prefix my Property @Value with #, but
it seems a little conceptually murky ("So it gets installed as a DWORD, but
you set it to be a string?").

Does anyone have any suggestions on how to make this work?  How do you
preserve a non-string registry value?  I think I have to be missing
something because it seems this will break if you use any type other than
string.

Let me know if I haven't been clear.

Thanks,
:D
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Preserving a value from the registry

2007-05-30 Thread BES Installer

Hi there,

I'm trying to create an installer package that writes a default value on a
fresh install but preserves a changed value on upgrade or maintenance.

What I did was author my MSI package in the following way:



   
 
   

In the resulting package, the relevant entry in the Property table is:

Property = PORTVALUE, Value="1234"

In the Registry table, the relevant entry (partial) is Value = #[PORTVALUE].

When I run this on a fresh install, it correctly writes a DWORD with value
1234.
When in maintenance/upgrade, it incorrectly writes a REG_SZ with value
#1234.

As far as I can tell, the value being retrieved from AppSearch is "#1234"..
but then when it tries to write it to the registry, the registry value
resolves to ##1234 which is a REG_SZ.

It seems that this could easily be fixed by me modifying my Property table
in the following way:

Property = PORTVALUE, Value="#1234"

And in the Registry table:

But there don't seem to be easy ways to do this.  It looks like I would set
my RegistryValue @type to "String" and prefix my Property @Value with #, but
it seems a little conceptually murky ("So it gets installed as a DWORD, but
you set it to be a string?").

Does anyone have any suggestions on how to make this work?  How do you
preserve a non-string registry value?  I think I have to be missing
something because it seems this will break if you use any type other than
string.

Let me know if I haven't been clear.

Thanks,
:D
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] [WiX-Users] Reglocator on 64-bit machine?

2008-05-15 Thread BES Installer
Hi there, I'm experiencing a strange issue and was wondering if anyone had
some insight into it.

I have an installer package where all the components are 32-bit, but I must
nonetheless interact with 64-bit prerequisite software and install on a 64
bit platform.

Now, all I am trying to do at this point is read from the 64-bit registry
hive with the help of AppSearch and RegLocator, so that I can determine what
folder the prerequisite software is in.  I updated the Reglocator.Type
column for this entry to 16, to indicate misdbLocatorTypeDirectory and
msidbLocatorType64bit.  However, in the subsequent log, I see that the
property linked to this row is not being set, even though this registry
exists.

Now when I change the Reglocator.Type column to 18 (msidbLocatorTypeRawValue
and msidbLocatorTypeDirectory) I see that this is set but then something
called WIN64DUALFOLDERS kicks in and changes the value.  This makes it plain
what happened in the first case; it found the value in the registry, C:\Program
Files\MyFolder\MyProgram.exe and then WIN64DUALFOLDERS changes it to
C:\*Program
Files (x86)*\MyFolder\MyProgram.exe.  Then Windows installer attempts to
confirm that the folder exists and since it doesn't under the new name, it
won't set the property (It really should log the reason it doesn't set it,
but that's something to take up with the MSI folks I guess).

So my question is, how do I stop WIN64DUALFOLDERS from working in this
case?  I'm using MSI 3.1, if that makes any difference?  I've seen people
say that you can select this if the component is marked as 64-bit, but in
this case I'm using reglocator which does not seem to allow for that
distinction.

Thanks,
:Duan
-
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users