Hi,
        I had this problem when I was running tools from my chainer, my
MSI updated the environment then a later tool could not see the changes
to the path. I solved this by adding a collector (an assembly that the
chainer uses for dialogues etc) that updates the environment variable
temporarily for the current process using SetEnvironmentVariable
Function (http://msdn.microsoft.com/en-us/library/ms686206(VS.85).aspx).

You could set the enviroment variable temporarily in your CA before you
spawn your sub processes if that is possible in the way you are working.

Dave W.

-----Original Message-----
From: Tanikella, Rajanikanth (SCR US)
[mailto:[EMAIL PROTECTED] 
Sent: 09 October 2008 18:20
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] When is the target machine's environment updated?

Hello All,
 
I've a number of custom actions (CMD scripts) that run EXE files that
the MSI installs. These EXEs, in turn, require that a certain directory
(also installed by this MSI) is included in the PATH environment
variable.
 
These CAs never run successfully, and I think I know why: Although the
MSI includes an <Environment> element to append the needed directories
to the PATH, the target machine is not aware of this change until after
the MSI completes. (According to the Environment table description at
http://msdn.microsoft.com/en-us/library/aa368369(VS.85).aspx, "On
Windows 2000, this information is stored in the registry and a message
notifies the system of changes when the installation completes.")
 
I've tried using the WixShellExec as described in the "How To: Run the
Installed Application After Setup" article in the WiX help, and even
this does not do the trick. Clearly, the installed EXEs do not see the
updates the MSI has made to the path.
 
Am I missing something? Is there no point before clicking 'finish' on
the final dialog that I can insert a call to my custom action and
guarantee that it is running with all the environment changes the MSI
has made?  Or is the only way truly to install a CMD file that sets its
own PATH and runs these EXEs? So far tha tis the only way I've managed
to get them to work.

Raj




SDL PLC confidential, all rights reserved.
If you are not the intended recipient of this mail SDL requests and requires 
that you delete it without acting upon or copying any of its contents, and we 
further request that you advise us.
SDL PLC is a public limited company registered in England and Wales.  
Registered number: 02675207.  
Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, 
UK.


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to