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

Reply via email to