But that would need a bundle, since running vc_redist.exe as a custom action is crazy. Can't you just install the CRT DLLs in the same directory as the executables?
-- Nicolas 2013/12/12 Phil Wilson <phildgwil...@gmail.com>: > You'd need to use the vc_redist exe and install that first. That merge > module has an explicit ALLUSERS setting because it's intended to be per > machine, so you'd need to take it out and use the redist exe. > > Phil Wilson > > > On Thu, Dec 12, 2013 at 10:58 AM, Happy Geek <happygeek...@gmail.com> wrote: > >> It appears that I added vcredist merge modules in the upgrade that cause >> the upgrade to be permachine install. Is there anyway to bundle vcredist >> merge modules but still have a peruser install? >> >> >> >> On Wed, Dec 11, 2013 at 7:54 AM, Phil Wilson <phildgwil...@gmail.com> >> wrote: >> >> > If you don't specify an ALLUSERS property it defaults to per user. The >> > behavior you see might be because ALLUSERS was 2, which does per machine >> if >> > the user is privileged and per user if not privileged. Verify what's >> > happening to ALLUSERS by looking in the log, for the upgrade and >> original, >> > and what privilege the user has. MSIINSTALLPERUSER is also worth looking >> > at. The upgrade code may not be the issue if you have something in the UI >> > that sets either of these. >> > >> > MSI will not do that cross context upgrade for you, so you may need a >> > bundle to uninstall the old one then install the new. >> > >> > >> > Phil Wilson >> > >> > >> > On Tue, Dec 10, 2013 at 4:11 PM, Happy Geek <happygeek...@gmail.com> >> > wrote: >> > >> > > Hi all, >> > > >> > > I wrote an installer for my app and now I am trying to release an >> upgrade >> > > and creating an installer for that. The issue I am having is that the >> new >> > > installer logs tell me that old install was per-user while current >> > install >> > > is per-machine and thus it fails to findrelatedproducts and hence fails >> > to >> > > removeexistingproducts. Both my original installer and upgrade >> installer >> > > do not specify the InstallScope. >> > > >> > > I have two questions: >> > > >> > > 1: Why is my original install a per-user install? Is it because I wrote >> > to >> > > HKCU? >> > > >> > > 2: Why is my new/upgrade install a per-machine install? I am not >> changing >> > > anything in the upgrade except version number and product. >> > > >> > > I tried adding InstallScope="perUser" explicity under Package in my >> > > upgrade but the logs still say that current install is per-machine and >> > > don't remove the old product. >> > > >> > > What do I need to do to so that my upgrade removes the old code and >> > > installs the new version of the app? >> > > >> > > My original and upgrade installer code is given below. >> > > >> > > Thanks. >> > > >> > > My original installer code: >> > > >> > > <?xml version="1.0" encoding="utf-8"?> >> > > <?include rtcversion.wxi ?> >> > > <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> >> > > <Product Name="$(var.ApplicationName)" >> > > Id="$(var.MyApp_Component_PRODUCT_ID_STR)" >> > > UpgradeCode="$(var.MyApp_Component_UPGRADE_CODE_STR)" >> > > Version="$(var.MyApp_PRODUCTVERSION_STR)" >> > > Manufacturer="$(var.VER_COMPANYNAME_STR)" Language="!(loc.LANG_CODE)" >> > > Codepage="1252"> >> > > <Package Id="*" Keywords="Installer" >> > > Description="$(var.ApplicationName) Installer" InstallerVersion="450" >> > > Compressed="yes" /> >> > > <Property Id="VCREDIST_INSTALLED"> >> > > <RegistrySearch Id="RegistrySearch_VCRedist_Installed" >> > > >> > > >> > >> Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{95716cce-fc71-413f-8ad5-56c2892d4b3a}" >> > > Name="DisplayVersion" Root="HKLM" Type="raw" /> >> > > </Property> >> > > <Condition Message="$(var.ApplicationName) installation >> requires >> > > Microsoft Visual C++ 2012 Redistributable (x86). Installation cannot >> > > continue. Please install Microsoft Visual C++ 2012 Redistributable >> (x86) >> > > from http://www.microsoft.com/en-us/download/details.aspx?id=30679 and >> > try >> > > again."><![CDATA[INSTALLED Or VCREDIST_INSTALLED Or >> > > BYPASS_MyApp_DEPENDENCY_CHECKS Or REMOVE="ALL"]]></Condition> >> > > <PropertyRef Id="NETFRAMEWORK45" /> >> > > <Condition Message="$(var.ApplicationName) installation >> requires >> > > Microsoft .NET Framework 4.5. Installation cannot continue. Please >> > install >> > > Microsoft .NET Framework 4.5 from >> > > http://www.microsoft.com/en-us/download/details.aspx?id=30653 and try >> > > again."><![CDATA[INSTALLED Or NETFRAMEWORK45 Or >> > > BYPASS_MyApp_DEPENDENCY_CHECKS Or REMOVE="ALL"]]></Condition> >> > > <Icon Id="MyApp.ico" >> > SourceFile="$(var.BASEPATH)\MyApp\MyApp.ico"/> >> > > <Property Id="ARPPRODUCTICON" Value="MyApp.ico" /> >> > > <Property Id="WIXUI_INSTALLDIR" Value="MYAPPDIR" /> >> > > <Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" >> Value="Launch >> > > $(var.ApplicationName)" /> >> > > <Property Id="WixShellExecTarget" Value="[#MyApp_exe]" /> >> > > <CustomAction Id="LaunchApplication" BinaryKey="WixCA" >> > > DllEntry="WixShellExec" Impersonate="yes" /> >> > > <Media Id="1" Cabinet="MyApp.cab" EmbedCab="yes" /> >> > > <UI> >> > > <UIRef Id="WixUI_InstallDir" /> >> > > <Publish Dialog="ExitDialog" Control="Finish" >> > Event="DoAction" >> > > Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT >> > > Installed</Publish> >> > > </UI> >> > > <Directory Id="TARGETDIR" Name="SourceDir"> >> > > <Directory Id="ProgramFilesFolder" Name="PFiles"> >> > > <Directory Id="MYAPPDIR" ShortName="MyApp" >> > > Name="$(var.ApplicationName)" /> >> > > </Directory> >> > > <Directory Id="ProgramMenuFolder" Name="Programs" /> >> > > </Directory> >> > > <DirectoryRef Id="MYAPPDIR"> >> > > <Component Id="MyApp_executable"> >> > > <File Id="MyApp_exe" >> > > Source="$(var.BASEPATH)\MyApp\MyApp.exe" KeyPath="yes" /> >> > > </Component> >> > > </DirectoryRef> >> > > <DirectoryRef Id="ProgramMenuFolder"> >> > > <Component Id="MyApp_shortcut" >> > > Guid="82CBCBED-F0FD-497A-A34C-6290B7AAE4C4"> >> > > <Shortcut Id="ApplicationStartMenuShortcut" >> > > Name="$(var.ApplicationName) Desktop" Target="[MYAPPDIR]MyApp.exe" >> > > WorkingDirectory="MYAPPDIR" /> >> > > <RemoveFile Id="ApplicationStartMenuShortcut" >> > > Name="RemoveShortcut" On="uninstall" /> >> > > <RegistryValue Root="HKCU" >> > > Key="Software\XYZ\$(var.ApplicationName)" Name="installed" >> Type="integer" >> > > Value="1" KeyPath="yes" /> >> > > </Component> >> > > </DirectoryRef> >> > > <Feature Id="MyApp_Application" Title="$(var.ApplicationName)" >> > > Level="1" ConfigurableDirectory="MYAPPDIR"> >> > > <ComponentRef Id="MyApp_executable" /> >> > > <ComponentRef Id="MyApp_shortcut" /> >> > > </Feature> >> > > </Product> >> > > </Wix> >> > > >> > > >> > > My upgrade installer code: >> > > >> > > <?xml version="1.0" encoding="utf-8"?> >> > > <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> >> > > <Product Name="$(var.ApplicationName)" >> > > Id="$(var.MyApp_Component_PRODUCT_ID_STR)" >> > > UpgradeCode="$(var.MyApp_Component_UPGRADE_CODE_STR)" >> > > Version="$(var.MyApp_PRODUCTVERSION_STR)" >> > > Manufacturer="$(var.VER_COMPANYNAME_STR)" Language="!(loc.LANG_CODE)" >> > > Codepage="1252"> >> > > <Package Id="*" Keywords="Installer" >> > > Description="$(var.ApplicationName) Installer" InstallerVersion="450" >> > > Compressed="yes" /> >> > > <Upgrade Id="$(var.MyApp_Component_UPGRADE_CODE_STR)"> >> > > <UpgradeVersion Maximum="$(var.MyApp_PRODUCTVERSION_STR)" >> > > IncludeMaximum="no" Language="!(loc.LANG_CODE)" OnlyDetect="no" >> > > Property="PREVIOUSFOUND" /> >> > > </Upgrade> >> > > <Property Id="VCREDIST_INSTALLED"> >> > > <RegistrySearch Id="RegistrySearch_VCRedist_Installed" >> > > >> > > >> > >> Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{95716cce-fc71-413f-8ad5-56c2892d4b3a}" >> > > Name="DisplayVersion" Root="HKLM" Type="raw" /> >> > > </Property> >> > > <Condition Message="$(var.ApplicationName) installation >> requires >> > > Microsoft Visual C++ 2012 Redistributable (x86). Installation cannot >> > > continue. Please install Microsoft Visual C++ 2012 Redistributable >> (x86) >> > > from http://www.microsoft.com/en-us/download/details.aspx?id=30679 and >> > try >> > > again."><![CDATA[INSTALLED Or VCREDIST_INSTALLED Or >> > > BYPASS_MyApp_DEPENDENCY_CHECKS Or REMOVE="ALL"]]></Condition> >> > > <PropertyRef Id="NETFRAMEWORK45" /> >> > > <Condition Message="$(var.ApplicationName) installation >> requires >> > > Microsoft .NET Framework 4.5. Installation cannot continue. Please >> > install >> > > Microsoft .NET Framework 4.5 from >> > > http://www.microsoft.com/en-us/download/details.aspx?id=30653 and try >> > > again."><![CDATA[INSTALLED Or NETFRAMEWORK45 Or >> > > BYPASS_MyApp_DEPENDENCY_CHECKS Or REMOVE="ALL"]]></Condition> >> > > <Icon Id="MyApp.ico" >> SourceFile="$(var.BASEPATH)\MyApp\MyApp.ico" >> > > /> >> > > <Property Id="ARPPRODUCTICON" Value="MyApp.ico" /> >> > > <Property Id="WIXUI_INSTALLDIR" Value="MYAPPDIR" /> >> > > <Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" >> Value="Launch >> > > $(var.ApplicationName)" /> >> > > <Property Id="WixShellExecTarget" Value="[#MyApp_exe]" /> >> > > <CustomAction Id="LaunchApplication" BinaryKey="WixCA" >> > > DllEntry="WixShellExec" Impersonate="yes" /> >> > > <Media Id="1" Cabinet="MyApp.cab" EmbedCab="yes" /> >> > > <UI> >> > > <UIRef Id="WixUI_InstallDir" /> >> > > <Publish Dialog="ExitDialog" Control="Finish" >> > Event="DoAction" >> > > Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT >> > > Installed</Publish> >> > > </UI> >> > > <Directory Id="TARGETDIR" Name="SourceDir"> >> > > <!--<Directory Id="SystemFolder" Name="SystemFolder" />--> >> > > <Directory Id="ProgramFilesFolder" Name="PFiles"> >> > > <Directory Id="MYAPPDIR" ShortName="MyApp" >> > > Name="$(var.ApplicationName)" /> >> > > </Directory> >> > > <Directory Id="ProgramMenuFolder" Name="Programs" /> >> > > </Directory> >> > > <DirectoryRef Id="MYAPPDIR"> >> > > <Component Id="MyApp_executable"> >> > > <File Id="MyApp_exe" >> > > Source="$(var.BASEPATH)\MyApp\MyApp.exe" KeyPath="yes" /> >> > > </Component> >> > > </DirectoryRef> >> > > <DirectoryRef Id="ProgramMenuFolder"> >> > > <Component Id="MyApp_shortcut" >> > > Guid="82CBCBED-F0FD-497A-A34C-6290B7AAE4C4"> >> > > <Shortcut Id="ApplicationStartMenuShortcut" >> > > Name="$(var.ApplicationName) Desktop" Target="[MYAPPDIR]MyApp.exe" >> > > WorkingDirectory="MYAPPDIR" /> >> > > <RemoveFile Id="ApplicationStartMenuShortcut" >> > > Name="RemoveShortcut" On="uninstall" /> >> > > <RegistryValue Root="HKCU" >> > > Key="Software\XYZ\$(var.ApplicationName)" Name="installed" >> Type="integer" >> > > Value="1" KeyPath="yes" /> >> > > </Component> >> > > </DirectoryRef> >> > > >> > > <Feature Id="MyApp_Application" Title="$(var.ApplicationName)" >> > > Level="1" ConfigurableDirectory="MYAPPDIR"> >> > > <ComponentRef Id="MyApp_executable" /> >> > > <ComponentRef Id="MyApp_shortcut" /> >> > > </Feature> >> > > <InstallExecuteSequence> >> > > <RemoveExistingProducts After="InstallInitialize" /> >> > > </InstallExecuteSequence> >> > > </Product> >> > > </Wix> >> > > >> > > ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users