[wix-users] Struggling with ICE38 for a per-machine MSI

Joseph Musser me at jnm2.com
Mon Oct 31 11:20:26 PDT 2016


That gives "ICE38: Component ApplicationShortcut installs to user profile.
It's KeyPath registry key must fall under HKCU."

On Mon, Oct 31, 2016 at 1:20 PM, Carlos Sosa <carlos.sosa.us at outlook.com>
wrote:

> Change
>
> <RegistryValue Root ="HKCU"
> To
> <RegistryValue Root ="HKLM"
>
>
>
> -----Original Message-----
> From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf
> Of
> Joseph Musser
> Sent: Monday, October 31, 2016 11:18 AM
> To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
> Subject: Re: [wix-users] Struggling with ICE38 for a per-machine MSI
>
> That is what everyone says to do, but I do not want anything to be created
> per-user, including registry keys. Rather, I need CMP_StartMenuShortcut to
> stop being a per-user component (according to the ICE message) and be a
> per-machine component. Ideally no registry should be needed at all.
>
> On Mon, Oct 31, 2016 at 1:00 PM, Carlos Sosa <carlos.sosa.us at outlook.com>
> wrote:
>
> >
> > <Fragment>
> >     <Component Directory="StartMenu" Id ="CMP_StartMenuShortcut"
> >                Guid ="DEXXXXDC-8XXE-4XX4-AXX8-4CXXXX3XXDD2">
> >       <Shortcut Id ="ApplicationShortcut"
> >                 Name ="$(var.ProductName)"
> >                 Description ="ShortCut"
> >                 Target ="[INSTALLFOLDER]test.txt"
> >                 Icon="icon.ico" />
> >
> >       <RemoveFolder Id="RemoveStartMenuShortcut"
> >                     On="uninstall"/>
> >
> >       <RegistryValue Root ="HKCU"
> >                      Key="Software\Microsoft\MyApp"
> >                      Name="Installed"
> >                      Type="integer"
> >                      Value="1"
> >                      KeyPath="yes" />
> >     </Component>
> >   </Fragment>
> >
> >
> >
> > -----Original Message-----
> > From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On
> > Behalf Of Joseph Musser
> > Sent: Monday, October 31, 2016 10:45 AM
> > To: wix-users at lists.wixtoolset.org
> > Subject: [wix-users] Struggling with ICE38 for a per-machine MSI
> >
> > I'm getting: "Component ApplicationShortcut installs to user profile.
> > It must use a registry key under HKCU as its KeyPath, not a file."
> >
> > Why does the shortcut component install to user profile and how can I
> > force it to install per-machine?
> >
> > I think the shortcut must be in its own component because I want to
> > make the install conditional on a checkbox. Also, the target is a file
> > in a fragment generated by heat so I can't nest the shortcut element
> > inside a file element.
> >
> > All the guidance I can find says that you must use a per-user registry
> > key, but I *do not* want anything installed per-user. Everything must
> > be per-machine.
> >
> > Thanks!
> >
> >
> > Code:
> >
> > ```
> > <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
> >   <Product Id="****" Name="****" Language="1033" Version="2.0.17.0"
> > Manufacturer="****" UpgradeCode="****">
> >     <Package Description="****" InstallerVersion="200" Compressed="yes"
> > InstallScope="perMachine" />
> >
> >     <MajorUpgrade DowngradeErrorMessage="A newer version of
> > [ProductName] is already installed." />
> >     <MediaTemplate EmbedCab="yes" CompressionLevel="high"/>
> >
> >     <!--Property Id="InstallApplicationStartMenuShortcut" /-->
> >
> >     <Directory Id="TARGETDIR" Name="SourceDir">
> >       <Directory Id="ProgramFilesFolder">
> >         <Directory Id="APPLICATIONFOLDER" Name="****" />
> >       </Directory>
> >       <Directory Id="ProgramMenuFolder">
> >         <Directory Id="ApplicationProgramsFolder" Name="****">
> >           <Component Id="ApplicationShortcut" Guid="****">
> >             <Condition>InstallApplicationStartMenuShortcut</Condition>
> >             <Shortcut Id="ApplicationStartMenuShortcut"
> >                       Name="****"
> >                       Description="****"
> >                       WorkingDirectory="APPLICATIONFOLDER"
> >                       Target="[APPLICATIONFOLDER]Client.exe" />
> >             <RemoveFolder Id="RemoveShortcut"
> > Directory="ApplicationProgramsFolder" On="uninstall" />
> >           </Component>
> >         </Directory>
> >       </Directory>
> >     </Directory>
> >
> >     <Feature Id="Complete" Level="1" Title="****">
> >       <ComponentGroupRef Id="HeatGeneratedFragmentComponentGroupId" />
> >       <ComponentRef Id="ApplicationShortcut" />
> >     </Feature>
> >   </Product>
> > </Wix>
> > ```
> >
> > ____________________________________________________________________
> > 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