Note: if you extract code files out during the script generation phase then use
them during the execution phase and your deferred Custom Action is elevated,
you could be open to an elevation of rights attack. Namely, the attacker could
wait for your first custom action to lay down the DLLs to the temp drive (or
wherever) then quickly replace them with malicious code and wait for your
elevated Custom Action to execute the malicious code. The malicious code can
do whatever it wants (like add the attacker to Administrators group). This
attack is why we haven't provided such utility code in the WiX toolset.
The obvious fix (off the top of my head) is to marshal all of the DLLs code
through CustomActionData. That's kinda crazy... string encoding binary code,
but it might work. <grin/> Maybe there is an easier way.
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dwyer, Shawn
Sent: Tuesday, May 06, 2008 10:00
To: Kiran Subhedar (Sogeti); Blair Murri
Cc: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Need assistance!
We use a similar approach of storing support files in a Binary table and
extracting them to %TEMP% during a custom action. However one thing we ran
into was that during the custom actions that wanted to use these files, %TEMP%
was not the same as where we extracted them to. This was due to each msiexec
process being run under a different session, which can be the case when
installing through terminal services (remote desktop), and on Wiindows Server
2003 and 2008.
As a work around we had the 'ExtractSupportFiles' custom action also write the
path it extracted to in the registry and referenced that in later custom
actions rather than %TEMP%.
Just something to watch out for.
________________________________
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kiran Subhedar
(Sogeti)
Sent: Monday, May 05, 2008 10:34 PM
To: Blair Murri
Cc: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Need assistance!
Thanks again Blair! That's a very nice idea. Can you point me to some code or
site which can get me started?
Also I had another way (as explained in this link:
http://blog.deploymentengineering.com/2006/12/managed-code-can-access-msihandle_10.html
), using which a C++ CA will pass the MSI handle to the managed CA. In this
way the managed CA could access Binary table and execute the files. But this
means a lot of work as I need to host the CLR, then create the app domain, then
load and execute the assemblies. This indeed means a lot of work.
I liked you approach so I will give it a try.
Thanks again!
Kiran
From: Blair Murri [mailto:[EMAIL PROTECTED]
Sent: Monday, May 05, 2008 7:19 PM
To: Kiran Subhedar (Sogeti)
Cc: wix-users@lists.sourceforge.net
Subject: RE: Need assistance!
What I have seen others use is a C++ DLL CustomAction that extracts all needed
files from the Binary table to the %TEMP% directory, leaving them there, and
the deferred CAs then use/consume those files using the TEMP environment
variable to find them. If you really shouldn't leave the files around, you
could add a rollback/commit CA that erases them from the %TEMP% folder.
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kiran Subhedar
(Sogeti)
Sent: Monday, May 05, 2008 7:07 PM
To: Blair Murri
Cc: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Need assistance!
Thanks Blair! I could not use a Binary table since the executables executing
in-turn depend on one or other files. Moreover these are console applications
so they will show a pop-up when the CA is executed. Also the CA's are deferred
actions. So I think a Binary table wouldn't come to my rescue.
Thanks,
Kiran
From: Blair Murri [mailto:[EMAIL PROTECTED]
Sent: Monday, May 05, 2008 6:37 PM
To: Kiran Subhedar (Sogeti)
Cc: wix-users@lists.sourceforge.net
Subject: RE: Need assistance!
You could try using the Binary table instead of the File table to store the
support files. You would need to extract then yourself in a custom action, but
it could be the same custom action if that CA is not deferred.
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kiran Subhedar
(Sogeti)
Sent: Monday, May 05, 2008 2:31 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Need assistance!
Hi,
I am having an issue over here. I am using a custom action which uses some
support files. The action is required to run both in installation and
un-installation phases. But the support files needs to be removed after
installation. That means I will require these files again during
un-installation. How can I remove files after installation and again
install\remove them after un-installation? Any help would be appreciated.
Thanks,
Kiran
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users