In the same vein as my previous question...

My installer copies a file onto the target system, which is a windows service, 
however, its a 3rd party exe, and cannot be installed using the typical WiX 
method - it must be executed with "/service" as an argument.
This works.
However, my rollback custom action is getting fired AFTER the file is removed 
from the system, which is obviously a problem, because the file must be 
executed with "/unregserver" to clean up after itself.

Why is this happening? This is my WiX

<CustomAction Id="RegisterService" FileKey="olydvrsv.exe" ExeCommand="/Service" 
Execute="deferred" Impersonate="no" />
<CustomAction Id="RollbackRegisterService" FileKey="olydvrsv.exe" 
ExeCommand="/unregserver" Execute="rollback" Impersonate="no" />

<Custom Action="RegisterService" After="InstallFiles">1</Custom>
<Custom Action="RollbackRegisterService" Before="InstallFiles">1</Custom>

The install logs say:

MSI (s) (B0:D4) [18:22:48:465]: Executing op: 
ActionStart(Name=RollbackRegisterService,,)
MSI (s) (B0:D4) [18:22:48:475]: Executing op: 
CustomActionRollback(Action=RollbackRegisterService,ActionType=3346,Source=C:\Program
 Files\Common Files\olydvrsv.exe,Target=/unregserver,)
MSI (s) (B0:D4) [18:22:48:475]: Note: 1: 1721 2: RollbackRegisterService 3: 
C:\Program Files\Common Files\olydvrsv.exe 4: /unregserver 
MSI (s) (B0:D4) [18:22:48:475]: Note: 1: 2205 2:  3: Error 
MSI (s) (B0:D4) [18:22:48:475]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` 
FROM `Error` WHERE `Error` = 1721 
Info 1721. There is a problem with this Windows Installer package. A program 
required for this install to complete could not be run. Contact your support 
personnel or package vendor. Action: RollbackRegisterService, location: 
C:\Program Files\Common Files\olydvrsv.exe, command: /unregserver

.. which makes sense, because its preceded by this (note the time stamps):

MSI (s) (B0:D4) [18:22:47:434]: Executing op: FileRemove(,FileName=C:\Program 
Files\Common Files\olydvrsv.exe,,)

So, the file is removed BEFORE the rollback custom action is fired - which is 
the wrong way around.

How can I get this the right way around?

Thanks!

Adam Langley
Senior Developer
Tel: +64 9 486 9010
[email protected]
www.winscribe.com
 
 



------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to