[wix-users] Multi instance setup

Christopher Painter chrpai at iswix.com
Fri May 10 09:07:42 PDT 2019

Private properties can not be passed into the installer.  It is also immutable once installation begins.  So the only way to change ProductName at install time would be to dynamically generate the transform with a custom ProductName and then apply the transform.

The only other alternative would be to use a bootstrapper to register with Add/Remove Programs and not be overly worried about what the internal productname of the installer is.

I've done many multiple instance installers  over the years and honestly it's really complicated and typically requires a custom bootstrapper at some point to handle all the servicing scenarios unless your willing to keep your story very simple.

From: wix-users <wix-users-bounces at lists.wixtoolset.org> on behalf of Elena Aralla via wix-users <wix-users at lists.wixtoolset.org>
Sent: Friday, May 10, 2019 11:00 AM
To: Edwin Castro
Cc: Elena Aralla; WiX Toolset Users Mailing List
Subject: Re: [wix-users] Multi instance setup

sorry, what I wanted to ask is if the value of the ProductName parameter can be somehow passed as a command line parameter instead of being static in the Product.wsx file

msiexec /i mysetup.msi MSINEWINSTANCE=1 TRANSFORMS=":I01” PRODUCTNAME = “BlahBlah”

<InstanceTransforms Property="INSTANCEID">
      <Instance Id="I01" ProductCode="8168F059-7EB8-4A30-B906-57EE371F523B" ProductName=“[PRODUCTNAME]”/>

thank you,

> Il giorno 10 mag 2019, alle ore 17:46, Edwin Castro <egcastr at gmail.com> ha scritto:
> ProductName and PRODUCTNAME are different.
> ProductName is a private property.
> See https://docs.microsoft.com/en-us/windows/desktop/msi/private-properties <https://docs.microsoft.com/en-us/windows/desktop/msi/private-properties>
> PRODUCTNAME is a public property.
> See https://docs.microsoft.com/en-us/windows/desktop/msi/public-properties <https://docs.microsoft.com/en-us/windows/desktop/msi/public-properties>
> According to https://docs.microsoft.com/en-us/windows/desktop/msi/productname <https://docs.microsoft.com/en-us/windows/desktop/msi/productname>
> ProductName "can be changed by a transform"
> See https://docs.microsoft.com/en-us/windows/desktop/msi/about-transforms <https://docs.microsoft.com/en-us/windows/desktop/msi/about-transforms>
> --
> Edwin G. Castro
> On Fri, May 10, 2019 at 7:31 AM Elena Aralla via wix-users <wix-users at lists.wixtoolset.org <mailto:wix-users at lists.wixtoolset.org>> wrote:
> Hello,
> I'm trying to do a multiinstance setup following these directions:
> http://sklyarenko.net/blog/2011/09/14/revisited-multiple-instance/ <http://sklyarenko.net/blog/2011/09/14/revisited-multiple-instance/>
> this is part of my Product.wsx
>   <Product Id="*" Name=“MyAppName" Version=“" Manufacturer=“MyManufacturer" UpgradeCode=        ”SOME GUID">
>     <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" InstallPrivileges="elevated" Languages="0,1040" />
>     <Property Id="INSTANCEID" Value=" " />
>     <InstanceTransforms Property="INSTANCEID">
>       <Instance Id="I01" ProductCode="8168F059-7EB8-4A30-B906-57EE371F523B" ProductName="MyAppName 01"/>
>       <Instance Id="I02" ProductCode="0B25F5B6-D35E-4F2C-95F5-F62B9C9AC98E" ProductName="MyAppName 02"/>
>       <Instance Id="I03" ProductCode="21BFAA6D-3260-4EC6-82E9-04B153C7325F" ProductName="MyAppName 03"/>
>     </InstanceTransforms>
> </Product>
> One question:
> Is it possible to pass the ProductName when calling the installer from the command line?
> Something like
> msiexec /i mysetup.msi MSINEWINSTANCE=1 TRANSFORMS=":I01” PRODUCTNAME = “user choice"
> Thanks a lot,
> Elena.
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/ <http://www.firegiant.com/>

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

More information about the wix-users mailing list