[wix-users] Install Util, Custom Actions, Elevated etc

Charles Gallo [9Dots Management] CGallo at ixdots.com
Mon Jul 31 08:58:08 PDT 2017


It is set deferred

        <CustomAction Id="InstallUtil_proCubeExcel" Execute="deferred"  Property="INSTALLUTIL_PATH"  ExeCommand=""[dir_procube_bin][ADDIN_FILE_NAME]" /ShowCallStack "/>


The full sequence list from <InstallIntialize>


        <InstallInitialize Sequence="1500" />

        <Custom Action="SetExcelName" Sequence="1513">(&Excel2016=3) OR (!Excel2016=3)</Custom>
        <Custom Action="SetExcel_2013Name" Sequence="1515">(&Excel2013=3) OR (!Excel2013=3)</Custom>
        <Custom Action="SetExcel32_2010Name" Sequence="1516">(&Excel2010=3) OR (!Excel2010=3)</Custom>
       
        <Custom Action="SetInstallUtil" Sequence="1519" />
        <Custom Action="UnInstallUtil_proCubeExcel" Sequence="1525">(MaintenanceMode ="Remove") OR (REMOVE~="ALL")</Custom>
       
        <AllocateRegistrySpace Sequence="1550">NOT Installed</AllocateRegistrySpace>
        <ProcessComponents Sequence="1600" />
        <UnpublishComponents Sequence="1700" />
        <MsiUnpublishAssemblies Sequence="1750" />

        <UnpublishFeatures Sequence="1800" />
        <StopServices Sequence="1900">VersionNT</StopServices>
        <DeleteServices Sequence="2000">VersionNT</DeleteServices>
        <UnregisterComPlus Sequence="2100" />
        <SelfUnregModules Sequence="2200" />
        <UnregisterTypeLibraries Sequence="2300" />
        <RemoveODBC Sequence="2400" />
        <UnregisterFonts Sequence="2500" />
        <RemoveRegistryValues Sequence="2600" />
        <UnregisterClassInfo Sequence="2700" />
        <UnregisterExtensionInfo Sequence="2800" />
        <UnregisterProgIdInfo Sequence="2900" />
        <UnregisterMIMEInfo Sequence="3000" />
        <RemoveIniValues Sequence="3100" />
        <RemoveShortcuts Sequence="3200" />
        <RemoveEnvironmentStrings Sequence="3300" />
        <RemoveDuplicateFiles Sequence="3400" />
        <RemoveFiles Sequence="3500" />
        <RemoveFolders Sequence="3600" />
        <CreateFolders Sequence="3700" />
        <MoveFiles Sequence="3800" />
        <InstallFiles Sequence="4000" />
        <DuplicateFiles Sequence="4210" />
        <PatchFiles Sequence="4090" />
        <BindImage Sequence="4300" />
        <CreateShortcuts Sequence="4500" />
        <RegisterClassInfo Sequence="4600" />
        <RegisterExtensionInfo Sequence="4700" />
        <RegisterProgIdInfo Sequence="4800" />
        <RegisterMIMEInfo Sequence="4900" />
        <WriteRegistryValues Sequence="5000" />
        <WriteIniValues Sequence="5100" />
        <WriteEnvironmentStrings Sequence="5200" />
        <RegisterFonts Sequence="5300" />
        <InstallODBC Sequence="5400" />
        <RegisterTypeLibraries Sequence="5500" />
        <SelfRegModules Sequence="5600" />
        <RegisterComPlus Sequence="5700" />
        <InstallServices Sequence="5800">VersionNT</InstallServices>
        <StartServices Sequence="5900">VersionNT</StartServices>
        <RegisterUser Sequence="6000" />
        <RegisterProduct Sequence="6100" />
        <PublishComponents Sequence="6200" />
        <MsiPublishAssemblies Sequence="6250" />
 
        <PublishFeatures Sequence="6300" />
        <PublishProduct Sequence="6400" />
      
        <ScheduleReboot Sequence="6410">ISSCHEDULEREBOOT</ScheduleReboot>
   
        <Custom Action="InstallUtil_proCubeExcel"    Sequence="6603">NOT ((MaintenanceMode ="Remove") OR (REMOVE~="ALL"))</Custom>
        <InstallFinalize Sequence="6604" />

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Edwin Castro
Sent: Monday, July 31, 2017 11:50 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] Install Util, Custom Actions, Elevated etc

Is your custom action running as an immediate custom action? If so, then when you schedule it before InstallFinalize it will run *before* files are installed. Your custom action should run as a deferred custom action. You also probably want a rollback action scheduled before your deferred custom action to undo the changes if something fails and a rollback is triggered.
You'll probably need something similar on the uninstall side...

--
Edwin G. Castro


On Mon, Jul 31, 2017 at 8:04 AM, Charles Gallo [9Dots Management] < CGallo at ixdots.com> wrote:

> Maybe this might give some clues?
>
> MSI (s) (14:7C) [12:45:49:943]: Executing op: 
> ActionStart(Name=InstallUtil_
> proCubeExcel,,)
> Action 12:45:49: InstallUtil_proCubeExcel.
> MSI (s) (14:7C) [12:45:49:943]: Executing op: 
> CustomActionSchedule(Action= 
> InstallUtil_proCubeExcel,ActionType=1074,Source=C:\Windows\Microsoft.N
> ET\ Framework\v2.0.50727\InstallUtil.exe ,Target="C:\Program Files 
> (x86)\Satori\proCube\bin\proCubeExcel2016-32.dll" /ShowCallStack ,) 
> MSI (s) (14:68) [12:45:53:460]: Running as a service.
>
> CustomAction InstallUtil_proCubeExcel returned actual error code -1 
> (note this may not be 100% accurate if translation happened inside 
> sandbox) Error 1722.There is a problem with this Windows Installer 
> package. A program run as part of the setup did not finish as 
> expected. Contact your support personnel or package vendor. Action 
> InstallUtil_proCubeExcel,
> location: 
> C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe ,
> command: "C:\Program Files (x86)\Satori\proCube\bin\proCubeExcel2016-32.dll"
> /ShowCallStack
> 07/28/2017 12:45:58.167 [5140]: Assembly Install: Failing with 
> hr=80070005 at RemoveDirectoryAndChildren, line 393
>
> 07/28/2017 12:45:58.167 [5140]: Detailed info about 
> C:\Windows\assembly\tmp\XBFD3VWQ\proCubeApi.dll
>
> 07/28/2017 12:45:58.167 [5140]:         File attributes: 00000800
>
> 07/28/2017 12:45:58.198 [5140]:         Restart Manager Info: 1 entries
>
> 07/28/2017 12:45:58.198 [5140]:                 App[0]: (5140) Windows
> Installer (msiserver), type = 3
>
> 07/28/2017 12:45:58.198 [5140]:         Security info:
>
> 07/28/2017 12:45:58.198 [5140]:                 Owner: S-1-5-18
>
> 07/28/2017 12:45:58.198 [5140]:                 Group: S-1-5-18
>
> 07/28/2017 12:45:58.198 [5140]:                 DACL information: 5
> entries:
>
> 07/28/2017 12:45:58.198 [5140]:                 ACE[0]: Type = 0x00, Flags
> = 010, Mask = 001f01ff, SID = S-1-5-18
>
> 07/28/2017 12:45:58.198 [5140]:                 ACE[1]: Type = 0x00, Flags
> = 010, Mask = 001f01ff, SID = S-1-5-32-544
>
> 07/28/2017 12:45:58.198 [5140]:                 ACE[2]: Type = 0x00, Flags
> = 010, Mask = 001200a9, SID = S-1-5-32-545
>
> 07/28/2017 12:45:58.198 [5140]:                 ACE[3]: Type = 0x00, Flags
> = 010, Mask = 001200a9, SID = S-1-15-2-1
>
> 07/28/2017 12:45:58.198 [5140]:                 ACE[4]: Type = 0x00, Flags
> = 010, Mask = 001200a9, SID = S-1-15-2-2
>
> Action ended 12:45:58: InstallFinalize. Return value 3.
>
>
> -----Original Message-----
> From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On 
> Behalf Of Charles Gallo [9Dots Management]
> Sent: Monday, July 31, 2017 8:26 AM
> To: WiX Mailing List (wix-users at lists.wixtoolset.org) < 
> wix-users at lists.wixtoolset.org>
> Subject: [wix-users] Install Util, Custom Actions, Elevated etc
>
> [This sender failed our fraud detection checks and may not be who they 
> appear to be. Learn about spoofing at 
> http://aka.ms/LearnAboutSpoofing]
>
> Hey Gang,
> Still working on this install, it is making me nuts
>
> First, this is a translation/rebuild from an old Installshield 
> project, and it MOSTLY works
>
> Here is the issue - I have a DLL that needs to be run with Installutil 
> - not big issue, except the sequence numbers that were in the 
> installshield project had the custom actuion calling install util 
> (custom because what dll gets installed depends on other things) after 
> the <InstallFinalize>line
> - duh, that won't work
>
> Now here is the interesting part.
>
> If I run the InstallUtil line manually (elevated) AFTER the setup 
> fails, it works FINE If I move it JUST before (Sequence 6603) the 
> <InstallFinalize> (call it Sequence 6604), it fails and says that some 
> of the precursor DLLs have not been installed!! (but obviously - they 
> HAVE been installed, because I can manually run it right after)  I 
> will say that one of the DLLs it is complaining about is in GAC32
>
> Is it possible that it isn't actually installed at that point, even 
> though every install item has a sequence number, and the installUtil 
> call is the 2nd highest Sequence Number, right before 
> <InstallFinalize>
>
> I've spent weeks fighting this, and I feel like I'm chasing my tail
>
>
> Charles Gallo | 9 DOTS
> Senior Director
> 1100 E Hector Street| Ste. 245 | Conshohocken, PA 19428
> C: 917.301.2749
> cgallo at ixdots.com<mailto:cgallo at ixdots.com>| ixdots.com<http://www.ixdots.
> 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