Re: [WiX-users] EXE custom action cannot run because DLLs are removed
Try moving it sooner. You could run ProDriverRemove after InstallInitialize. Running it before RemoveFiles means it is likely scheduled after RemoveRegistryValues which might be the real problem. Look at the InstallExecuteSequence table using Orca to help with the ordering. Also, you might want to add some additional conditions to ensure that it only runs when the product is being removed, such as REMOVE~=ALL. -Original Message- From: kurt.jen...@us.ophiropt.com [mailto:kurt.jen...@us.ophiropt.com] Sent: Tuesday, June 11, 2013 7:10 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] EXE custom action cannot run because DLLs are removed Did not get any responses and was out on Friday. I am running an installed EXE during the uninstall. This EXE requires DLLs that were also installed. But the EXE is not running. From the log I can see the custom action is scheduled, some DLLs are removed, then the EXE starts. The EXE will not run without those DLLs. The EXE uninstalls a driver so must run deferred in order to get elevated privileges. I have tried various Before and After in the InstallExecuteSequence without any luck. I've also searched the archive with no luck. Here is a snippet of the WXS CustomAction Id=ProDriverInstall Directory=APPLICATIONDIRECTORY ExeCommand=[APPLICATIONDIRECTORY]$(var.ProDriverInstallation.TargetName) Execute=deferred Impersonate=no Return=asyncWait / CustomAction Id=ProDriverRemove Directory=APPLICATIONDIRECTORY ExeCommand=[APPLICATIONDIRECTORY]ProDriverRemoval.exe Execute=deferred Impersonate=no Return=asyncWait / InstallExecuteSequence Custom Action=ProDriverInstall After=InstallFilesNOT Installed/Custom Custom Action=ProDriverRemove Before=RemoveFilesInstalled/Custom /InstallExecuteSequence Any idea how I can get this to work? Kurt Jensen Senior Software Engineer Ophir-Spiricon LLC kurt.jen...@us.ophiropt.com www.ophiropt.com/photonics The True Measurement of Laser Performance TM -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] EXE custom action cannot run because DLLs are removed
Thank you for the ideas. -Original Message- From: Sharon Pierson [mailto:sharon.pier...@netiq.com] Sent: Tuesday, June 11, 2013 10:34 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] EXE custom action cannot run because DLLs are removed Try moving it sooner. You could run ProDriverRemove after InstallInitialize. Running it before RemoveFiles means it is likely scheduled after RemoveRegistryValues which might be the real problem. Look at the InstallExecuteSequence table using Orca to help with the ordering. Also, you might want to add some additional conditions to ensure that it only runs when the product is being removed, such as REMOVE~=ALL. -Original Message- From: kurt.jen...@us.ophiropt.com [mailto:kurt.jen...@us.ophiropt.com] Sent: Tuesday, June 11, 2013 7:10 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] EXE custom action cannot run because DLLs are removed Did not get any responses and was out on Friday. I am running an installed EXE during the uninstall. This EXE requires DLLs that were also installed. But the EXE is not running. From the log I can see the custom action is scheduled, some DLLs are removed, then the EXE starts. The EXE will not run without those DLLs. The EXE uninstalls a driver so must run deferred in order to get elevated privileges. I have tried various Before and After in the InstallExecuteSequence without any luck. I've also searched the archive with no luck. Here is a snippet of the WXS CustomAction Id=ProDriverInstall Directory=APPLICATIONDIRECTORY ExeCommand=[APPLICATIONDIRECTORY]$(var.ProDriverInstallation.TargetName) Execute=deferred Impersonate=no Return=asyncWait / CustomAction Id=ProDriverRemove Directory=APPLICATIONDIRECTORY ExeCommand=[APPLICATIONDIRECTORY]ProDriverRemoval.exe Execute=deferred Impersonate=no Return=asyncWait / InstallExecuteSequence Custom Action=ProDriverInstall After=InstallFilesNOT Installed/Custom Custom Action=ProDriverRemove Before=RemoveFilesInstalled/Custom /InstallExecuteSequence Any idea how I can get this to work? Kurt Jensen Senior Software Engineer Ophir-Spiricon LLC kurt.jen...@us.ophiropt.com www.ophiropt.com/photonics The True Measurement of Laser Performance TM -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] EXE custom action cannot run because DLLs are removed
Sorry, I did not see this response. Thank you. I have been pulled off this task... again... I will try some of your and Sharon's ideas when I get back to it. Will post new questions if they come up. Thanks again. Kurt -Original Message- From: Phil Wilson [mailto:phil.wil...@mvps.org] Sent: Thursday, June 06, 2013 8:55 AM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] EXE custom action cannot run because DLLs are removed Just a few comments: Deferred and before RemoveFiles makes sense, but what action is removing the Dlls that the exe needs? Is APPLICATIONDIRECTORY recovered and is it correct at uninstall time? Your condition on the uninstall is incorrect. Use REMOVE=ALL as a condition for an uninstall. The problem with using Installed as your condition on the remove is that it is set in several situations where you don't want it to be called. If you do a repair, add or remove features, then your remove will be called because the Installed condition is met. Phil -Original Message- From: kurt.jen...@us.ophiropt.com [mailto:kurt.jen...@us.ophiropt.com] Sent: Thursday, June 06, 2013 7:18 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] EXE custom action cannot run because DLLs are removed I am running an installed EXE during the uninstall. This EXE requires DLLs that were also installed. But the EXE is not running. From the log I can see the custom action is scheduled, some DLLs are removed, then it starts running. The EXE will not run without those DLL. The EXE uninstalls a driver so must run deferred in order to get elevated privileges. I have tried various Before and After in the InstallExecuteSequence without any luck. I've also searched the archive with no luck. Here is a snippet of the WXS CustomAction Id=ProDriverInstall Directory=APPLICATIONDIRECTORY ExeCommand=[APPLICATIONDIRECTORY]$(var.ProDriverInstallation.TargetName) Execute=deferred Impersonate=no Return=asyncWait / CustomAction Id=ProDriverRemove Directory=APPLICATIONDIRECTORY ExeCommand=[APPLICATIONDIRECTORY]ProDriverRemoval.exe Execute=deferred Impersonate=no Return=asyncWait / InstallExecuteSequence Custom Action=ProDriverInstall After=InstallFilesNOT Installed/Custom Custom Action=ProDriverRemove Before=RemoveFilesInstalled/Custom /InstallExecuteSequence Any idea how I can get this to work? Kurt Jensen Senior Software Engineer Ophir-Spiricon LLC www.ophiropt.com/photonicshttp://www.ophiropt.com/photonics The True Measurement of Laser Performance TM -- How ServiceNow helps IT people transform IT departments: 1. A cloud service to automate IT design, transition and operations 2. Dashboards that offer high-level views of enterprise services 3. A single system of record for all IT processes http://p.sf.net/sfu/servicenow-d2d-j ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- How ServiceNow helps IT people transform IT departments: 1. A cloud service to automate IT design, transition and operations 2. Dashboards that offer high-level views of enterprise services 3. A single system of record for all IT processes http://p.sf.net/sfu/servicenow-d2d-j ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] EXE custom action cannot run because DLLs are removed
Just a few comments: Deferred and before RemoveFiles makes sense, but what action is removing the Dlls that the exe needs? Is APPLICATIONDIRECTORY recovered and is it correct at uninstall time? Your condition on the uninstall is incorrect. Use REMOVE=ALL as a condition for an uninstall. The problem with using Installed as your condition on the remove is that it is set in several situations where you don't want it to be called. If you do a repair, add or remove features, then your remove will be called because the Installed condition is met. Phil -Original Message- From: kurt.jen...@us.ophiropt.com [mailto:kurt.jen...@us.ophiropt.com] Sent: Thursday, June 06, 2013 7:18 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] EXE custom action cannot run because DLLs are removed I am running an installed EXE during the uninstall. This EXE requires DLLs that were also installed. But the EXE is not running. From the log I can see the custom action is scheduled, some DLLs are removed, then it starts running. The EXE will not run without those DLL. The EXE uninstalls a driver so must run deferred in order to get elevated privileges. I have tried various Before and After in the InstallExecuteSequence without any luck. I've also searched the archive with no luck. Here is a snippet of the WXS CustomAction Id=ProDriverInstall Directory=APPLICATIONDIRECTORY ExeCommand=[APPLICATIONDIRECTORY]$(var.ProDriverInstallation.TargetName) Execute=deferred Impersonate=no Return=asyncWait / CustomAction Id=ProDriverRemove Directory=APPLICATIONDIRECTORY ExeCommand=[APPLICATIONDIRECTORY]ProDriverRemoval.exe Execute=deferred Impersonate=no Return=asyncWait / InstallExecuteSequence Custom Action=ProDriverInstall After=InstallFilesNOT Installed/Custom Custom Action=ProDriverRemove Before=RemoveFilesInstalled/Custom /InstallExecuteSequence Any idea how I can get this to work? Kurt Jensen Senior Software Engineer Ophir-Spiricon LLC www.ophiropt.com/photonicshttp://www.ophiropt.com/photonics The True Measurement of Laser Performance TM -- How ServiceNow helps IT people transform IT departments: 1. A cloud service to automate IT design, transition and operations 2. Dashboards that offer high-level views of enterprise services 3. A single system of record for all IT processes http://p.sf.net/sfu/servicenow-d2d-j ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- How ServiceNow helps IT people transform IT departments: 1. A cloud service to automate IT design, transition and operations 2. Dashboards that offer high-level views of enterprise services 3. A single system of record for all IT processes http://p.sf.net/sfu/servicenow-d2d-j ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users