[wix-users] [WIX]: Issue while writing Registry Key using File in MSI

Phil Wilson phil.wilson at mvps.org
Tue Sep 1 11:20:10 PDT 2015


You should post exactly what it is you need in the registry because maybe
there's a way to do it that doesn't involve running that program. Maybe
adding it to the registry table at install time could work. 

I think the problem is that impersonation only assumes the account context,
not the user profile info, and that's what MSI does for impersonated custom
actions. For example, see the docs for LoadUserProfile where it explains
that the user profile doesn't get loaded during impersonation, and that
means the registry hive for the user, so you don't get HKCU entries to write
to. 

When you say "the exe is not launched" when impersonation="yes" you need to
check in the log. It may be launching and exiting. People launch
impersonated custom action exes all the time, so check your code too.  

Phil 

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of
Michal Krezolek
Sent: Tuesday, September 01, 2015 6:24 AM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] [WIX]: Issue while writing Registry Key using File
in MSI

Sorry, don't know.

Maybe use a WiX bundle and execute your exe after the main setup?


Michal Krezolek, MSc of Comp. Sci.


Software Developer  l Meditech International Inc.
415 Horner Avenue, Unit 12, Toronto, ON, M8W 4W3
T: 416 251 1055  l  TF: 1 888 557 4004 l  F:416 251 2446
michal at bioflexlaser.com  l  www.bioflexlaser.com




-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of
Dileep S
Sent: Tuesday, September 01, 2015 12:19 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] [WIX]: Issue while writing Registry Key using File
in MSI

Dear Michal,

If i ran the .exe file, it was creating registry entry in the specified
path.
Problem is, when using MSI package and following command only it was
behaving strangely.
I suspect that is there any problem with MSI while launching EXE file.

Could you please help me on this.

On Mon, Aug 31, 2015 at 6:41 PM, Michal Krezolek <michal at bioflexlaser.com>
wrote:

> Dear Dileep,
> Do you have the source code for the .exe file? If yes, use a custom 
> action binary created from that source code and you will be able to 
> get the registry written properly using the custom action binary. Also 
> set a variable, if needed with the content 
> "[$(var.RootDirID)]$(var.EXEFileName)". That way you'll have 
> everything you need.
>
>
> Michal Krezolek, MSc of Comp. Sci.
>
>
> Software Developer  l Meditech International Inc.
> 415 Horner Avenue, Unit 12, Toronto, ON, M8W 4W3
> T: 416 251 1055  l  TF: 1 888 557 4004 l  F:416 251 2446 
> michal at bioflexlaser.com  l  www.bioflexlaser.com
>
>
>
>
> -----Original Message-----
> From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On 
> Behalf Of Dileep S
> Sent: Monday, August 31, 2015 2:06 AM
> To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
> Subject: Re: [wix-users] [WIX]: Issue while writing Registry Key using 
> File in MSI
>
> Dear Michal,
> I have changed Impersonate="yes" and tried. In this case, EXE file is 
> not launched after extracting the files.
>
>
> On Fri, Aug 28, 2015 at 6:40 PM, Michal Krezolek 
> <michal at bioflexlaser.com>
> wrote:
>
> > Use the following:
> > <CustomAction Id="InstallDRV" Directory="INSTALLDIR" Execute="deferred"
> > ExeCommand="[$(var.RootDirID)]$(var.EXEFileName)" Impersonate="yes"
> > Return="asyncNoWait" />
> >
> >
> >
> > From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On 
> > Behalf Of Dileep S
> >
> > Hi All,
> >
> > I have created a sample C++ exe to write Registry Key in the 
> > following
> > location:
> > HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion
> >
> > I have packaged this "Sample.exe" using WIX script.
> >
> > I have written custom action in *.WXS file as below:
> >
> > <CustomAction Id="InstallDRV" Directory="INSTALLDIR" Execute="deferred"
> > ExeCommand="[$(var.RootDirID)]$(var.EXEFileName)" Impersonate="no"
> > Return="asyncNoWait" />
> >
> >
> > "Sample.exe" should write the registry key which was specified after 
> > extracting the MSI package.
> >
> > *Issue:*
> > After extracting the MSI package, "Sample.exe" launches and written 
> > a registry key in the below location not in the specified location:
> > HKEY_USERS\.DEFAULT\Software\Microsoft\Windows
> > NT\CurrentVersion\Windows
> >
> > How to resolve this issue?
> >
> > Is there any property need to be add in *.WXS file?
> >
> > Thanks in advance.
> >
> > ____________________________________________________________________
> > WiX Toolset Users Mailing List provided by FireGiant 
> > http://www.firegiant.com/
> >
> > ____________________________________________________________________
> > WiX Toolset Users Mailing List provided by FireGiant 
> > http://www.firegiant.com/
> >
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant 
> http://www.firegiant.com/
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant 
> http://www.firegiant.com/
>

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant
http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant
http://www.firegiant.com/




More information about the wix-users mailing list