[wix-users] Passing a property from bundle to msi to be consumed as a registry multiString value

Jon Armen jarmen at bstglobal.com
Thu Feb 11 12:11:44 PST 2016


Ah ha...  I was able to get it working.  Since I'm also using a custom boostrapper application, I was able to use "\r\n" as a string separator instead of trying to pass some escaped variation of [~].

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Jon Armen
Sent: Thursday, February 11, 2016 2:21 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] Passing a property from bundle to msi to be consumed as a registry multiString value

That's what I thought about PROP1.  For my next test, I used:

<MsiProperty Name="PROP2" Value="Test1[\[]~[\]]Test2"/> <MsiProperty Name="PROP3" Value="Test1[~]Test2"/>

The resulting registry entries are:
Prop2: Test1[~]Test2<Newline>
Prop3: Test1Test2<Newline>

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Phill Hogland
Sent: Thursday, February 11, 2016 2:11 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] Passing a property from bundle to msi to be consumed as a registry multiString value

The PROP1 example fails to take into consideration that XML requires escaping the square bracket.   The PROP2 example is what you want or use HRML entities.
http://www.dvteclipse.com/documentation/svlinter/How_to_use_special_characters_in_XML.3F.html




-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Jon Armen
Sent: Thursday, February 11, 2016 12:48 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] Passing a property from bundle to msi to be consumed as a registry multiString value

Ah yes, bad example.  In my production code, I am using public properties (all caps) for passing this value

Rewrite of the example to explain with public properties for completeness

I've tried both of these msi properties:

<MsiPackage ...>
                <MsiProperty Name="PROP1" Value="Test1[~]Test2" />
	<MsiProperty Name="PROP2" Value="Test1[\[]~[\]]Test2" />  </MsiPackage>

My msi has a component with:

<RegistryValue Root="HKLM" Key="Software\..." Name="Prop1" Value="[PROP1]" Type="multiString" /> <RegistryValue Root="HKLM" Key="Software\..." Name="Prop1" Value="[PROP2]" Type="multiString" />

After the install runs, Prop1 contains a multiString, however Test1Test2 appears on a single line
Prop2 contains a multiString, however Test1[~]Test2 appears.

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of John Cooper
Sent: Thursday, February 11, 2016 1:44 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] Passing a property from bundle to msi to be consumed as a registry multiString value

Only public properties can be passed into an MSI.  That means the property MUST be in all uppercase.

--
John Merryweather Cooper
Senior Software Engineer | Integration Development Group | Enterprise Notification Service Jack Henry & Associates, Inc.® | Lenexa, KS  66214 | Ext:  431050 |JoCooper at jackhenry.com




-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Jon Armen
Sent: Thursday, February 11, 2016 12:43 PM
To: wix-users at lists.wixtoolset.org
Subject: [wix-users] Passing a property from bundle to msi to be consumed as a registry multiString value

The e-mail below is from an external source.  Please do not open attachments or click links from an unknown or suspicious origin.

I am attempting to pass a property in a bundle to an msi

I've tried both of these msi properties:

<MsiPackage ...>
                <MsiProperty Name="Prop1" Value="Test1[~]Test2" /> <MsiProperty Name="Prop2" Value="Test1[\[]~[\]]Test2" /> </MsiPackage>

My msi has a component with:

<RegistryValue Root="HKLM" Key="Software\..." Name="Prop1" Value="[Prop1]" Type="multiString" /> <RegistryValue Root="HKLM" Key="Software\..." Name="Prop1" Value="[Prop2]" Type="multiString" />

After the install runs, Prop1 contains a multiString, however Test1Test2 appears on a single line
Prop2 contains a multiString, however Test1[~]Test2 appears.

Does anyone have insight as to how I could get the expected behavior of Test1 and Test2 on separate lines?

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

NOTICE: This electronic mail message and any files transmitted with it are intended exclusively for the individual or entity to which it is addressed. The message, together with any attachment, may contain confidential and/or privileged information.
Any unauthorized review, use, printing, saving, copying, disclosure or distribution is strictly prohibited. If you have received this message in error, please immediately advise the sender by reply email and delete all copies.


____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/



More information about the wix-users mailing list