Hello,

        Basically I have a component group in my installer that will not get 
installed when doing an upgrade. Now we have found that the upgrade only 
doesn't work when we upgrade from a version that didn't previously contain 
these components. In our example the initial install is version 5.0 and the new 
install that contains these new components is version 5.2. This basically cause 
the whole install to fail as we have a custom action requiring this component 
group set to fire of on a repair or upgrade and so the installer fails because 
the exe hasn't been installed. After looking at our svn logs the only change 
that was made was we added a new custom action to the install.  Below is the 
code for the failing compoenents: Also if I look in the install log I see :

MSI (s) (E0:AC) [08:46:04:024]: Skipping action: RunECUDuringInstall (condition 
is false)
MSI (s) (E0:AC) [08:46:04:024]: Doing action: RunECUDuringRepair
Action 8:46:04: RunECUDuringRepair.
Action start 8:46:04: RunECUDuringRepair.
MSI (s) (E0:AC) [08:46:04:026]: Note: 1: 2753 2: ECU.exe
RunECUDuringRepair:
Action ended 8:46:04: RunECUDuringRepair. Return value 1.
MSI (s) (E0:AC) [08:46:04:028]: Doing action: InstallFinalize
Action 8:46:04: InstallFinalize.
Action start 8:46:04: InstallFinalize.


<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
       <Fragment Id="productECU">
             <DirectoryRef Id="Util">
                    <Component
                           Id="ECU.exe"
                           Guid="{D93B0A57-CC88-4012-B197-830D7A9E5902}"
                           MultiInstance="yes">
                           <!--<Condition>CONFIGAPP="ECU"</Condition>-->
                           <File
                                 Source="configuration\ECU\ECU\bin\ECU.exe" 
KeyPath="yes" Vital="yes"  >
                                 <Shortcut Id="ECUShortcut"
                                        Name="ECU"
                                        WorkingDirectory="Util"
                                        Description="ECU Product Configuration"
                                        Directory="InstanceShortcutFolder"
                                        Arguments='/productId="pid" 
/ProductName="!(loc.ProductName)" /instance="[INSTANCENAME]" 
/InstallDir="[INSTALLLOCATION]product"'
                                        />

                           </File>
                    </Component>

                    <Component
                           Id="ECUDL.dll.Component"
                           Guid="{575D49DF-9C81-4797-8645-26C3255BDDDE}"
                           MultiInstance="yes">
                           <!--<Condition>CONFIGAPP="ECU"</Condition>-->
                           <File
                                 Id="ECUDL.dll.File"
                                 Source="configuration\ECU\ECU\bin\ECUDL.dll"  
/>
                    </Component>

                    <Component
                           Id="MvvmFoundation.Wpf.dll.Component"
                           Guid="{E3859DEE-E163-4A11-8DD5-2DA6AE4B0837}"
                           MultiInstance="yes">
                           <!--<Condition>CONFIGAPP="ECU"</Condition>-->
                           <File
                                 Id="MvvmFoundation.Wpf.dll.File"
                                  
Source="configuration\ECU\ECU\bin\MvvmFoundation.Wpf.dll" />
                    </Component>

                    <Component
                           Id="company.Sdk.dll.Component"
                           Guid="{03AABCF1-B5D0-4B84-8308-7F6AA4E1D997}"
                           MultiInstance="yes"
                           KeyPath="yes">
                           <File Id="company.Sdk.dll.File" 
Source="configuration\ECU\ECU\bin\DuckCreek.Sdk.dll"/>
                    </Component>

                    <!--<Component Id="Win32Security.dll.Component">
                           <Condition>CONFIGAPP="ECU"</Condition>
                           <File
                                 Id="Win32Security.dll.file"
                                  
Source="configuration\ECU\ECU\bin\Release\Win32Security.dll"/>
                    </Component>-->

                    <Component Id="NLog.dll.Component">
                           <!--<Condition>CONFIGAPP="ECU"</Condition>-->
                           <File
                                 Id="NLog.dll.file"
                                 Source="configuration\ECU\ECU\bin\NLog.dll"/>
                    </Component>

                    <Component Id="NLog.xml.Component">
                           <!--<Condition>CONFIGAPP="ECU"</Condition>-->
                           <File
                                 Id="NLog.xmll.file"
                                 Source="configuration\ECU\ECU\bin\NLog.xml"/>
                    </Component>
                    <Component Id="NLog.config.Component">
                           <!--<Condition>CONFIGAPP="ECU"</Condition>-->
                           <File
                                 Id="NLog.config.file"
                                 Source="configuration\ECU\ECU\bin\NLog.config"
                                 />
                    </Component>
             </DirectoryRef>
             <!--<DirectoryRef Id="Profiles">
                    <Component Id="web.config.template.component">
                           <File Id="web.config.template.file"
                                   
Source="configuration\ECU\ECU\bin\Release\Profiles\product\web.config.template"/>
                    </Component>

             </DirectoryRef>-->

             <ComponentGroup Id="ECU">
                    <ComponentRef Id="ECU.exe"/>
                    <ComponentRef Id="ECUDL.dll.Component"/>
                    <ComponentRef Id="MvvmFoundation.Wpf.dll.Component"/>
                    <ComponentRef Id="company.Sdk.dll.Component"/>
                    <!--<ComponentRef Id="Win32Security.dll.Component"/>-->
                    <ComponentRef Id="NLog.dll.Component"/>
                    <ComponentRef Id="NLog.xml.Component"/>
                    <ComponentRef Id="NLog.config.Component"/>
                    <!--<ComponentRef Id="web.config.template.component"/>-->
             </ComponentGroup>

             <CustomAction
                    Id="RunECUDuringInstall"
                    ExeCommand='"[#ECU.exe]" /productId=pid 
/instance="[INSTANCENAME]" /ProductName="!(loc.ProductName)" 
/InstallDir="[INSTALLLOCATION]product" /LaunchFrom=msi '
                    Directory="Util"
                    Impersonate="yes"
                    Execute="deferred"
                    Return="check" />

             <CustomAction
                    Id="RunECUDuringRepair"
                    ExeCommand='"[#ECU.exe]" /productId=pid 
/instance="[INSTANCENAME]" /ProductName="!(loc.ProductName)" 
/InstallDir="[INSTALLLOCATION]product" /LaunchFrom=msi '
                    Directory="Util"
                    Impersonate="yes"
                    Execute="deferred"
                    Return="check" />

             <CustomAction Id="RunECUWithProfile"
                    ExeCommand='"[#ECU.exe]" /silent /applyProfile="[PROFILE]" 
/productId=pid /instance="[INSTANCENAME]" /ProductName="!(loc.ProductName)" 
/InstallDir="[INSTALLLOCATION]product"'
                    Impersonate="yes"
                    Execute="deferred"
                    Directory="Util"
                    Return="check"/>

             <CustomAction Id="RunECUDuringUninstall"
                    ExeCommand='"[#ECU.exe]" /productId=pid 
/ProductName="!(loc.ProductName)" /instance="[INSTANCENAME]" 
/InstallDir="[INSTALLLOCATION]product" /ProductCode="[ProductCode]" 
/uninstall=[UNINSTALLOPTIONS]'
                    Impersonate="yes"
                    Execute="deferred"
                    Directory="Util"
                    Return="check"/>

             <CustomAction Id="RunECUUninstallSilent"
                    ExeCommand='"[#ECU.exe]" /silent /productId=pid 
/instance="[INSTANCENAME]" /ProductName="!(loc.ProductName)" 
/InstallDir="[INSTALLLOCATION]product" /ProductCode="[ProductCode]" 
/uninstall=[UNINSTALLOPTIONS]'
                    Impersonate="yes"
                    Execute="deferred"
                    Directory="Util"
                    Return="ignore"/>

             <CustomAction Id="RunECUUninstallSilentExportProfiles"
                    ExeCommand='"[#ECU.exe]" /silent /productId=pid 
/instance="[INSTANCENAME]" /ProductName="!(loc.ProductName)" 
/InstallDir="[INSTALLLOCATION]product" /ProductCode="[ProductCode]" 
/uninstall=[UNINSTALLOPTIONS] /export=[EXPORTOPTIONS]'
                    Impersonate="yes"
                    Execute="deferred"
                    Directory="Util"
                    Return="ignore"/>


             <InstallExecuteSequence>
                    <Custom Action="SchedXmlFile" After="InstallFiles" 
>1</Custom>

                    <!--After="WriteRegistryValues">-->
                    <!--After="CreateShortcuts">-->
                    <Custom
                           Action="RunECUDuringInstall"
                           After="PublishProduct">
                           (NOT REMOVE) AND                  <!--Do NOT run on 
uninstall.-->
                           (NOT (UILevel=2)) AND             <!--Do NOT run on 
silent install.-->
                           (NOT Installed)
                    </Custom>

                    <Custom
                           Action="RunECUDuringRepair"
                           After="PublishProduct">
                           (NOT REMOVE) AND                  <!--Do NOT run on 
uninstall.-->
                           (NOT (UILevel=2)) AND             <!--Do NOT run on 
silent install.-->
                           (Installed)
                    </Custom>

                    <Custom
                           Action="RunECUWithProfile"
                           After="SchedXmlFile">
                           (NOT REMOVE) AND                  <!--Do NOT run on 
uninstall.-->
                           (UILevel=2) AND                  <!-- run on silent 
install.-->
                           (PROFILE) AND
                           (NOT Installed)
                    </Custom>

                    <!--After="MsiUnpublishAssemblies">-->
                    <Custom
                           Action="RunECUDuringUninstall"
                           After="MsiUnpublishAssemblies">
                           (NOT UPGRADINGPRODUCTCODE) AND
                           (REMOVE="ALL") AND
                           (NOT (UILevel=2))
                    </Custom>

                    <Custom
                           Action="RunECUUninstallSilent"
                           After="MsiUnpublishAssemblies">
                           (NOT UPGRADINGPRODUCTCODE) AND
                           (REMOVE="ALL") AND
                           (UILevel=2)
                    </Custom>

                    <Custom
                           Action="RunECUUninstallSilentExportProfiles"
                           After="MsiUnpublishAssemblies">
                           (NOT UPGRADINGPRODUCTCODE) AND
                           (REMOVE="ALL") AND
                           (UILevel=2) AND
                           (EXPORTOPTIONS)
                    </Custom>


             </InstallExecuteSequence>
       </Fragment>
</Wix>

Tyler Reid | Operations and Infrastructure | Accenture Software | P&C Insurance
1807 Jones Street | Bolivar, MO 65613| USA
Office: +cc.xxx.xxx.xxxx | Fax: 417.777.3792
E-Mail: tyler.w.r...@accenture.com<mailto:tyler.w.r...@accenture.com> | 
www.accenture.com/pcsoftware<http://www.accenture.com/pcsoftware>



________________________________
This message is for the designated recipient only and may contain privileged, 
proprietary, or otherwise confidential information. If you have received it in 
error, please notify the sender immediately and delete the original. Any other 
use of the e-mail by you is prohibited.

Where allowed by local law, electronic communications with Accenture and its 
affiliates, including e-mail and instant messaging (including content), may be 
scanned by our systems for the purposes of information security and assessment 
of internal compliance with Accenture policy.

______________________________________________________________________________________

www.accenture.com
------------------------------------------------------------------------------
Own the Future-Intel(R) Level Up Game Demo Contest 2013
Rise to greatness in Intel's independent game demo contest. Compete 
for recognition, cash, and the chance to get your game on Steam. 
$5K grand prize plus 10 genre and skill prizes. Submit your demo 
by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to