[wix-users] Restart required

kurt.jensen at us.ophiropt.com kurt.jensen at us.ophiropt.com
Mon May 15 08:30:20 PDT 2017


double checked some things to make sure we were not introducing any new behavior such as installing CustomAction DLL

1) the only references to CustomAction.Install.WiX.CA.dll are Component and CustomAction elements
2) SCCM comparison shows two lines of code have changed since a known good installer.  the source directory structure has been changed and ProductVersion was updated.
3) below is a similar part of a log from an earlier, working installer.  the CustomAction is called, then the files are removed.



MSI (s) (68:78) [09:13:56:884]: Executing op: ActionStart(Name=CAUninstall,,)
MSI (s) (68:78) [09:13:56:884]: Executing op: CustomActionSchedule(Action=CAUninstall,ActionType=3089,Source=C:\Program Files\Spiricon\ConsoleService\CustomAction.Install.WiX.CA.dll,Target=CAUninstall,)
MSI (s) (68:30) [09:13:56:885]: Invoking remote custom action. DLL: C:\Program Files\Spiricon\ConsoleService\CustomAction.Install.WiX.CA.dll, Entrypoint: CAUninstall
MSI (s) (68:D8) [09:13:56:885]: Generating random cookie.
MSI (s) (68:D8) [09:13:56:912]: Created Custom Action Server with PID 7648 (0x1DE0).
MSI (s) (68:E4) [09:13:56:936]: Running as a service.
MSI (s) (68:E4) [09:13:56:937]: Hello, I'm your 64bit Elevated Non-remapped custom action server.
SFXCA: Extracting custom action to temporary directory: C:\Program Files\Spiricon\ConsoleService\CustomAction.Install.WiX.CA.dll-0\
SFXCA: Binding to CLR version v4.0.30319
Calling custom action CustomAction.Install.WiX!CustomAction.Install.WiX.CustomActions.CAUninstall
Begin CAUninstall
FindInstallPath
        currentPath='C:\Program Files\Spiricon\ConsoleService\CustomAction.Install.WiX.CA.dll-0'
        currentPath='C:\Program Files\Spiricon\ConsoleService'
        currentPath='C:\Program Files\Spiricon'
        currentPath='C:\Program Files\Spiricon\Console Service'
KillConsoleService
        path='C:\Program Files\Spiricon\Console Service'
        sc stop "Spiricon Console Service"
        proc.ExitCode='0'
        output='
SERVICE_NAME: Spiricon Console Service
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 3  STOP_PENDING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
'
        error=''
        error=''
        sc delete "Spiricon Console Service"
        output=' DeleteService SUCCESS
'
        error=''
MSI (s) (68:78) [09:14:12:655]: Executing op: ActionStart(Name=RemoveFiles,Description=Removing files,Template=File: [1], Directory: [9])
        Need to wait to make sure the console service is dead
MSI (s) (68:78) [09:14:12:655]: Executing op: ProgressTotal(Total=5,Type=1,ByteEquivalent=175000)
MSI (s) (68:78) [09:14:12:656]: Executing op: SetTargetFolder(Folder=C:\Program Files\Spiricon\ConsoleService\)
MSI (s) (68:78) [09:14:12:656]: Executing op: FileRemove(,FileName=Spiricon.ConsoleService.exe,,ComponentId={AE6CAFCB-2944-5A2A-91C1-8476A986F5F6})
MSI (s) (68:78) [09:14:12:660]: Verifying accessibility of file: Spiricon.ConsoleService.exe
MSI (s) (68:78) [09:14:12:674]: Note: 1: 2318 2:
MSI (s) (68:78) [09:14:12:679]: Note: 1: 2318 2:
MSI (s) (68:78) [09:14:12:679]: Executing op: FileRemove(,FileName=Spiricon.Interfaces.ConsoleService.dll,,ComponentId={1E160208-784C-5273-B9BB-57F283FB2CF4})
MSI (s) (68:78) [09:14:12:680]: Verifying accessibility of file: Spiricon.Interfaces.ConsoleService.dll
MSI (s) (68:78) [09:14:12:686]: Note: 1: 2318 2:
MSI (s) (68:78) [09:14:12:690]: Note: 1: 2318 2:
MSI (s) (68:78) [09:14:12:691]: Executing op: FileRemove(,FileName=PortFinder.config.xml,,ComponentId={B1D2FEA1-4FE4-50C0-8F4E-90C830C2B858})
MSI (s) (68:78) [09:14:12:712]: Verifying accessibility of file: PortFinder.config.xml
MSI (s) (68:78) [09:14:12:718]: Note: 1: 2318 2:
MSI (s) (68:78) [09:14:12:723]: Note: 1: 2318 2:
MSI (s) (68:78) [09:14:12:723]: Executing op: FileRemove(,FileName=CustomAction.Install.WiX.CA.dll,,ComponentId={5710F21F-3C8B-5EA3-BD26-D0C47510F545})
MSI (s) (68:78) [09:14:12:724]: Verifying accessibility of file: CustomAction.Install.WiX.CA.dll
MSI (s) (68:78) [09:14:12:729]: Note: 1: 2318 2:
MSI (s) (68:78) [09:14:12:735]: Note: 1: 2318 2:
MSI (s) (68:78) [09:14:12:735]: Executing op: FileRemove(,FileName=Spiricon.Application.dll,,ComponentId={E0F3E00D-15E6-5B28-BD9D-6E7087A155E6})
MSI (s) (68:78) [09:14:12:736]: Verifying accessibility of file: Spiricon.Application.dll
MSI (s) (68:78) [09:14:12:741]: Note: 1: 2318 2:
MSI (s) (68:78) [09:14:12:746]: Note: 1: 2318 2:
MSI (s) (68:78) [09:14:12:746]: Executing op: ActionStart(Name=PublishProduct,Description=Publishing product information,)

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of kurt.jensen at us.ophiropt.com
Sent: Monday, May 15, 2017 8:38 AM
To: wix-users at lists.wixtoolset.org
Subject: [wix-users] Restart required

> Why are you installing your CA DLL?





Not sure what you mean.  WiX installs it for us. And it is needed during uninstall. Again, this has been unchanged for a number of years.





Here is the code:



<?xml version="1.0" encoding="utf-8"?>

<Include>

  <!--

    = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

    Custom Actions

    = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

    -->



  <?if $(var.Platform) = x64 ?>

  <CustomAction Id="CAInstall"

                  FileKey="$(var.CustomAction.Install.x64.WiX.TargetName).CA.dll"

                  DllEntry="CAInstall"

                  Impersonate="no"

                  Execute="deferred" />

  <CustomAction Id="CAUninstall"

                FileKey="$(var.CustomAction.Install.x64.WiX.TargetName).CA.dll"

                DllEntry="CAUninstall"

                Impersonate="no"

                Execute="deferred" />

  <?else ?>

  <CustomAction Id="CAInstall"

                 FileKey="$(var.CustomAction.Install.x86.WiX.TargetName).CA.dll"

                 DllEntry="CAInstall"

                 Impersonate="no"

                 Execute="deferred" />

  <CustomAction Id="CAUninstall"

                FileKey="$(var.CustomAction.Install.x86.WiX.TargetName).CA.dll"

                DllEntry="CAUninstall"

                Impersonate="no"

                Execute="deferred" />

  <?endif ?>







  <InstallExecuteSequence>

    <!-- Run CAInstall after InstallFiles only if the product was not installed (i.e. do not run on uninstall) -->

    <Custom Action="CAInstall" After="InstallFiles">NOT Installed</Custom>

    <!-- Run CAUninstall before RemoveFiles only if the product was installed (i.e. only run on uninstall) -->

    <Custom Action="CAUninstall" Before="RemoveFiles">Installed</Custom>

  </InstallExecuteSequence>

</Include>



-----Original Message-----

From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org<http://lists.wixtoolset.org/listinfo.cgi/wix-users-wixtoolset.org>] On Behalf Of MegaBite Lures

Sent: Thursday, May 11, 2017 3:51 PM

To: wix-users at lists.wixtoolset.org<http://lists.wixtoolset.org/listinfo.cgi/wix-users-wixtoolset.org>

Subject: [wix-users] Restart required



This is new behavior. Now it seems many times when we uninstall our software it says we must restart the computer.



 Tracked it down to one of the installations in the bundle. Below are lines from the log.  MSI thinks that CustomAction.Install.WiX.CA.dll is in use?



This DLL contains custom actions called during install and uninstall. The code, sequencing, Wix, etc has not changed for some time.



 Any ideas?  TIA!















MSI (s) (10:08) [07:21:33:322]: Note: 1: 2329 2: 32 3: C:\Program Files\Spiricon\ConsoleService\CustomAction.Install.WiX.CA.dll



MSI (s) (10:08) [07:21:33:322]: Verifying accessibility of file:



CustomAction.Install.WiX.CA.dll



MSI (s) (10:08) [07:21:33:323]: Note: 1: 2205 2:  3: Error MSI (s) (10:08)

[07:21:33:323]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1903 MSI (s) (10:08) [07:21:33:329]: Note: 1: 2318 2:



MSI (s) (10:08) [07:21:33:335]: Note: 1: 2318 2:



MSI (s) (10:08) [07:21:33:335]: Executing op:



FileRemove(,FileName=Spiricon.Application.dll,,ComponentId={E0F3E00D-15E6-5B28-BD9D-6E7087A155E6})



Info 1903.Scheduling reboot operation: Deleting file C:\Program Files\Spiricon\ConsoleService\CustomAction.Install.WiX.CA.dll. Must reboot to complete operation.



 ...



 MSI (s) (10:08) [07:21:33:437]: Note: 1: 1724 MSI (s) (10:08)

[07:21:33:437]: Note: 1: 2205 2:  3: Error MSI (s) (10:08) [07:21:33:437]:

Note: 1: 2228 2:  3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` =

1724 MSI (s) (10:08) [07:21:33:437]: Note: 1: 2205 2:  3: Error MSI (s)

(10:08) [07:21:33:437]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1709 MSI (s) (10:08) [07:21:33:437]: Product:

Spiricon Console Service -- Removal completed successfully.



 MSI (s) (10:08) [07:21:33:437]: Windows Installer removed the product.



Product Name: Spiricon Console Service. Product Version: 6.7.0.0. Product



Language: 1033. Manufacturer: Ophir-Spiricon, LLC. Removal success or error



status: 0.



 MSI (s) (10:08) [07:21:33:438]: Value of RebootAction property is MSI (s)

(10:08) [07:21:33:438]: Windows Installer requires a system restart.



Product Name: Spiricon Console Service. Product Version: 6.7.0.0. Product



Language: 1033. Manufacturer: Ophir-Spiricon, LLC. Type of System Restart:



2. Reason for Restart: 1.



 MSI (s) (10:08) [07:21:33:438]: Product: Spiricon Console Service. Restart required. The installation or update for the product required a restart for all changes to take effect.  The restart was deferred to a later time.

This message may contain confidential information of MKS Instruments, Inc. or its subsidiaries. If you are not the intended recipient and have received this message in error, then any use or distribution is prohibited. Accordingly, please notify me immediately by e-mail and delete this message. Thank you.

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/
This message may contain confidential information of MKS Instruments, Inc. or its subsidiaries. If you are not the intended recipient and have received this message in error, then any use or distribution is prohibited. Accordingly, please notify me immediately by e-mail and delete this message. Thank you.


More information about the wix-users mailing list