Re: [WiX-users] Install .Net Framework 4

2010-06-18 Thread Blair
The bootstrapper instructions you supplied use a bootstrapper that creates a
setup.exe file that runs the project-associated target file (your MSI file)
after all other packages indicated in your build instructions are run. It is
expected that the user will run the setup.exe, or that you will EXE-ZIP the
entire resulting target directory and when double-clicked the self-extract
exe will run the setup.exe.

Bootstrappers run all installation packages one-by-one, with your MSI simply
being one of the packages (usually the last one).

-Original Message-
From: Jason Ding [mailto:jas...@geo-slope.com] 
Sent: Thursday, June 17, 2010 9:05 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Install .Net Framework 4

I ran the Setup.msi because I think that is how user installs the product
and then msi will execute the Setup.exe. Do you mean I should ran Setup.exe?
If that is true, does Setup.exe then launch Setup.msi?

Probably I misunderstood how wix and bootstrapper work, can you clarify
please? Thank you!


From: Blair [os...@live.com]
Sent: June-17-10 7:13 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Install .Net Framework 4

The bootstrapper should run and install the indicated prerequisite packages
before launching your MSI. Thus, your original launch condition looks
appropriate. However, launching the MSI does not run the bootstrapper, as
the MSI can't realistically install prerequisites.

In your testing, are you launching the bootstrapper or the MSI?

-Original Message-
From: Jason Ding [mailto:jas...@geo-slope.com]
Sent: Thursday, June 17, 2010 3:46 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Install .Net Framework 4

My launch condition in the .wxs file is:

PropertyRef Id=NETFRAMEWORK40CLIENT/
Condition Message=[ProductName] requires Microsoft .NET Framework
version 4.0 to run, click the OK button below to install.
  ![CDATA[Installed OR NETFRAMEWORK40CLIENT]]
/Condition

And in my wix project file, I ask Bootstrapper to install .NetFramework 4.0
Client, I think that is why the install fails because it checks if
.NetFramework 4.0 Client exists, and it doesn't on my test machine, so the
install fails before going ahead to instead .NetFramework 4.0 Client.

I changed the launch condition to be NETFRAMEWORK20, now I can install
successfully, but when I run the problem, it asks to install .NetFramework
4.0.

So my questions are:
1. when I ask bootstrapper to install .NET Framework 4.0 Client, can I use
.NET Framework 4.0 Client as the launch condition?
2. when I change launch condition to be an early version, like .NetFramewrok
2.0, why the install doesn't install .NetFramwork 4.0 Client, which is what
Bootstrapper supposed to do?

Below is the my code on Bootstrapper in the wixproj file. Many thanks for
any help?


ItemGroup
BootstrapperPackage
Include=.NETFramework,Version=v4.0,Profile=Client
  VisibleFalse/Visible
  ProductName.NET Framework 4.0 Client/ProductName
  InstallTrue/Install
/BootstrapperPackage
BootstrapperPackage Include=Microsoft.Windows.Installer.4.5
  VisibleFalse/Visible
  ProductNameWindows Installer 4.5/ProductName
  Installtrue/Install
/BootstrapperPackage
/ItemGroup
...
Target Name=AfterBuild
GenerateBootstrapper ApplicationFile=$(TargetFileName)
  ApplicationName=My Application Name
  BootstrapperItems=@(BootstrapperPackage)
  ComponentsLocation=Relative
  CopyComponents=True
  OutputPath=$(OutputPath)
  Path=C:\Program Files (x86)\Microsoft
SDKs\Windows\v7.0A\Bootstrapper\/
/Target




-Original Message-
From: Blair [mailto:os...@live.com]
Sent: June 17, 2010 4:33 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Install .Net Framework 4

What specifically is your LaunchCondition associated with that error text?

-Original Message-
From: Jason Ding [mailto:jas...@geo-slope.com]
Sent: Thursday, June 17, 2010 2:24 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Install .Net Framework 4

Here is the log by using /L*vx options, i.e., all messages, it does indicate
the LaunchConditions fails, but does anyone have a clue why it fails?
Thanks.

MSI (c) (6C:04) [15:18:29:270]: Doing action: LaunchConditions
Action 15:18:29: LaunchConditions. Evaluating launch conditions
Action start 15:18:29: LaunchConditions.
GeoStudio 2010 requires Microsoft .NET Framework version 4.0 to run,
click the OK button below to install.
MSI (c) (6C:04) [15:18:30:996]: Product: GeoStudio 2010 -- GeoStudio
2010 requires Microsoft .NET Framework version 4.0 to run, click the OK
button below to install.


Re: [WiX-users] Deferred custom action Impersonation.

2010-06-18 Thread Sagar1111

if i have a deferr=red custom action with Impersonate=yes. then on Windows
Vista with UAC enabled i get a prompt asking if the user wishes the allow
the program to access your computer. now if the user presses allow in UAC
prompt. Will my custom action be able to connect to SQL server on another
machine using windows authentication.




-- 
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Deferred-custom-action-Impersonation-tp5191516p5194260.html
Sent from the wix-users mailing list archive at Nabble.com.
--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] ModuleInstallExecuteSequence

2010-06-18 Thread Pally Sandher
ModuleInstallExecuteSequence doesn't exist in an MSI, only an MSM -
http://msdn.microsoft.com/en-us/library/aa370049(VS.85).aspx 

Even if you get your Custom Action into it, your MSI is still going to
have the same problem once the merge module is consumed if the Custom
Action is not Conditioned appropriately.

Palbinder Sandher 
Software Deployment  IT Administrator
T: +44 (0) 141 945 8500 
F: +44 (0) 141 945 8501 

http://www.iesve.com 
**Design, Simulate + Innovate with the Virtual Environment**
Integrated Environmental Solutions Limited. Registered in Scotland No.
SC151456 
Registered Office - Helix Building, West Of Scotland Science Park,
Glasgow G20 0SP
Email Disclaimer

-Original Message-
From: Yuichi Kuroda [mailto:satellitek...@hotmail.com] 
Sent: 17 June 2010 19:52
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] ModuleInstallExecuteSequence


Hello everyone,Does WIX support modifying the
ModuleInstallExecuteSequence table in any way? It's obviously not in
thedocumentation, and I thought I've seen it used somewhere in WIX
before when I didn't need it, until now which I need to runCustom
Actions only if the Merge Module (aka Feature) is to be installed.
Giving conditions likeMyFeature  2 in the MM didn't work because it's
not aware of the features.
Thanks for any help in advance.
  
_
Hotmail: Free, trusted and rich email service.
https://signup.live.com/signup.aspx?id=60969

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's
Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit.  See the
prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Deferred custom action Impersonation.

2010-06-18 Thread Pally Sandher
http://www.joyofsetup.com/2007/09/24/test-your-setups-virtually/ 

Palbinder Sandher 
Software Deployment  IT Administrator
T: +44 (0) 141 945 8500 
F: +44 (0) 141 945 8501 

http://www.iesve.com 
**Design, Simulate + Innovate with the Virtual Environment**
Integrated Environmental Solutions Limited. Registered in Scotland No.
SC151456 
Registered Office - Helix Building, West Of Scotland Science Park,
Glasgow G20 0SP
Email Disclaimer

-Original Message-
From: Sagar [mailto:sagarkavitak...@gmail.com] 
Sent: 18 June 2010 08:11
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Deferred custom action Impersonation.


if i have a deferr=red custom action with Impersonate=yes. then on
Windows Vista with UAC enabled i get a prompt asking if the user wishes
the allow the program to access your computer. now if the user presses
allow in UAC prompt. Will my custom action be able to connect to SQL
server on another machine using windows authentication.




--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Deferred-c
ustom-action-Impersonation-tp5191516p5194260.html
Sent from the wix-users mailing list archive at Nabble.com.

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's
Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit.  See the
prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Quiet Execution of an executable embedded within the MSI

2010-06-18 Thread Pally Sandher
Binary Elements are extracted to temporary directories using auto
generated filenames (see a verbose log for an example). It's not
possible to use an application in a Binary Element with QtExec (I looked
at the same thing a while ago for a plug-in installer). You'll either
need to change it to use a File Element  modify the CustomAction to use
[#fileid] instead of quot;myexec.exequot; or live without QtExec or as
Blair says, write your own Custom Actions to write the Binary to disk in
a known location so QtExec can run it.

Palbinder Sandher 
Software Deployment  IT Administrator
T: +44 (0) 141 945 8500 
F: +44 (0) 141 945 8501 

http://www.iesve.com 
**Design, Simulate + Innovate with the Virtual Environment**
Integrated Environmental Solutions Limited. Registered in Scotland No.
SC151456 
Registered Office - Helix Building, West Of Scotland Science Park,
Glasgow G20 0SP
Email Disclaimer

-Original Message-
From: Leigh Wetmore [mailto:lwetm...@gmail.com] 
Sent: 17 June 2010 18:29
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Quiet Execution of an executable embedded within
the MSI

Hello,

I'm trying to figure out how to quietly execute (QtExec) an executable
that I include within my MSI yet do not want installed on the user's
machine.

I've been able to achieve this without using the quiet execute feature,
but I don't like the command window popping up during installation.
Here is the code for that:

Binary Id=CfgUpdateExe SourceFile=..\bin\myexe.exe /

CustomAction
  Id=LaunchCfgUpdateExe
  BinaryKey=CfgUpdateExe
  ExeCommand=quot;[TempFolder]UpdateLog.txtquot; UpdateAppConfig
quot;[DASLocation]myexec.exe.Configquot;
  Execute=deferred
  Impersonate=no
  Return=asyncNoWait /

InstallExecuteSequence
  Custom Action=LaunchCfgUpdateExe
After=InstallInitializeOLDERVERSIONDETECTED/Custom
/InstallExecuteSequence

I use the binary element to bring the executable (myexe.exe) into the
MSI, then launch a custom action with the necessary arguments.  I have
it executing as deferred with no impersonation as I need the admin
privileges already captured by the installer to carry through to the
executable.
 Again, this works fine.

However, if I try to convert this to use QtExec, I'm unable to get it to
work.  Looking in the MSI install log, I see:

CAQuietExec:  Error 0x80070002: Command failed to execute.
CAQuietExec:  Error 0x80070002: CAQuietExec Failed

Here is my code so far:

Binary Id=CfgUpdateExe SourceFile=..\bin\myexec.exe /

CustomAction
  Id=QtExecCommand
  Property=QtExecUserCfg
  Value=quot;myexec.exequot;
quot;[TempFolder]UpdateLog.txtquot;
quot;UpdateAppConfigquot; quot;[DASLocation]myexec.exe.Configquot;
  Execute=immediate /
CustomAction Id=QtExecUserCfg BinaryKey=WixCA
DllEntry=CAQuietExec Execute=deferred Impersonate=no
Return=check/

InstallExecuteSequence
  Custom Action=QtExecCommand
After=CostFinalizeOLDERVERSIONDETECTED/Custom
  Custom Action=QtExecUserCfg
After=InstallInitializeOLDERVERSIONDETECTED/Custom
/InstallExecuteSequence

I've left the binary element there, but I don't think the custom actions
know about it.  It looks like QtExec can't find the executable which
makes sense (I can have it run notepad.exe no problem).  I'm thinking
maybe the files in the MSI, including myexec.exe, get extracted to a
temp directory during installation, and I can potentially reference it,
like Value=quot;[MSITempDir]myexec.exe...?

Thanks in advance for any help anyone can provide.

Leigh

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's
Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit.  See the
prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Quiet Execution of an executable embedded within the MSI

2010-06-18 Thread Leigh Wetmore
Thanks for the responses - I've gone with the file element.  I don't really
want the executable written to disk (it serves no purpose to the end user),
but there's no harm in it being there.

On Fri, Jun 18, 2010 at 7:28 AM, Pally Sandher pally.sand...@iesve.comwrote:

 Binary Elements are extracted to temporary directories using auto
 generated filenames (see a verbose log for an example). It's not
 possible to use an application in a Binary Element with QtExec (I looked
 at the same thing a while ago for a plug-in installer). You'll either
 need to change it to use a File Element  modify the CustomAction to use
 [#fileid] instead of quot;myexec.exequot; or live without QtExec or as
 Blair says, write your own Custom Actions to write the Binary to disk in
 a known location so QtExec can run it.

 Palbinder Sandher
 Software Deployment  IT Administrator
 T: +44 (0) 141 945 8500
 F: +44 (0) 141 945 8501

 http://www.iesve.com
 **Design, Simulate + Innovate with the Virtual Environment**
 Integrated Environmental Solutions Limited. Registered in Scotland No.
 SC151456
 Registered Office - Helix Building, West Of Scotland Science Park,
 Glasgow G20 0SP
 Email Disclaimer

 -Original Message-
 From: Leigh Wetmore [mailto:lwetm...@gmail.com]
 Sent: 17 June 2010 18:29
 To: wix-users@lists.sourceforge.net
 Subject: [WiX-users] Quiet Execution of an executable embedded within
 the MSI

 Hello,

 I'm trying to figure out how to quietly execute (QtExec) an executable
 that I include within my MSI yet do not want installed on the user's
 machine.

 I've been able to achieve this without using the quiet execute feature,
 but I don't like the command window popping up during installation.
 Here is the code for that:

Binary Id=CfgUpdateExe SourceFile=..\bin\myexe.exe /

CustomAction
  Id=LaunchCfgUpdateExe
  BinaryKey=CfgUpdateExe
  ExeCommand=quot;[TempFolder]UpdateLog.txtquot; UpdateAppConfig
 quot;[DASLocation]myexec.exe.Configquot;
  Execute=deferred
  Impersonate=no
  Return=asyncNoWait /

InstallExecuteSequence
  Custom Action=LaunchCfgUpdateExe
 After=InstallInitializeOLDERVERSIONDETECTED/Custom
/InstallExecuteSequence

 I use the binary element to bring the executable (myexe.exe) into the
 MSI, then launch a custom action with the necessary arguments.  I have
 it executing as deferred with no impersonation as I need the admin
 privileges already captured by the installer to carry through to the
 executable.
  Again, this works fine.

 However, if I try to convert this to use QtExec, I'm unable to get it to
 work.  Looking in the MSI install log, I see:

 CAQuietExec:  Error 0x80070002: Command failed to execute.
 CAQuietExec:  Error 0x80070002: CAQuietExec Failed

 Here is my code so far:

Binary Id=CfgUpdateExe SourceFile=..\bin\myexec.exe /

CustomAction
  Id=QtExecCommand
  Property=QtExecUserCfg
  Value=quot;myexec.exequot;
 quot;[TempFolder]UpdateLog.txtquot;
 quot;UpdateAppConfigquot; quot;[DASLocation]myexec.exe.Configquot;
  Execute=immediate /
CustomAction Id=QtExecUserCfg BinaryKey=WixCA
 DllEntry=CAQuietExec Execute=deferred Impersonate=no
 Return=check/

InstallExecuteSequence
  Custom Action=QtExecCommand
 After=CostFinalizeOLDERVERSIONDETECTED/Custom
  Custom Action=QtExecUserCfg
 After=InstallInitializeOLDERVERSIONDETECTED/Custom
/InstallExecuteSequence

 I've left the binary element there, but I don't think the custom actions
 know about it.  It looks like QtExec can't find the executable which
 makes sense (I can have it run notepad.exe no problem).  I'm thinking
 maybe the files in the MSI, including myexec.exe, get extracted to a
 temp directory during installation, and I can potentially reference it,
 like Value=quot;[MSITempDir]myexec.exe...?

 Thanks in advance for any help anyone can provide.

 Leigh
 
 --
 ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's
 Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit.  See the
 prize list and enter to win:
 http://p.sf.net/sfu/thinkgeek-promo
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users




 --
 ThinkGeek and WIRED's GeekDad team up for the Ultimate
 GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
 lucky parental unit.  See the prize list and enter to win:
 http://p.sf.net/sfu/thinkgeek-promo
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky 

Re: [WiX-users] ModuleInstallExecuteSequence

2010-06-18 Thread Christopher Painter
Mergemod.dll takes the rows in the ModuleInstallExecuteSequence table and 
inserts them into the InstallExecuteSequence table.  As I said in a previous 
post, the key is to use Component Action states not Feature Action states 
in the conditional expressions.  Anything else creates an akward releationship 
between the module and the consumer ( msi ).
 
Christopher Painter, Author of Deployment Engineering Blog
Have a hot tip, know a secret or read a really good thread that deserves 
attention? E-Mail Me



- Original Message 
From: Pally Sandher pally.sand...@iesve.com
To: General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
Sent: Fri, June 18, 2010 5:17:56 AM
Subject: Re: [WiX-users] ModuleInstallExecuteSequence

ModuleInstallExecuteSequence doesn't exist in an MSI, only an MSM -
http://msdn.microsoft.com/en-us/library/aa370049(VS.85).aspx 

Even if you get your Custom Action into it, your MSI is still going to
have the same problem once the merge module is consumed if the Custom
Action is not Conditioned appropriately.

Palbinder Sandher 
Software Deployment  IT Administrator
T: +44 (0) 141 945 8500 
F: +44 (0) 141 945 8501 

http://www.iesve.com 
**Design, Simulate + Innovate with the Virtual Environment**
Integrated Environmental Solutions Limited. Registered in Scotland No.
SC151456 
Registered Office - Helix Building, West Of Scotland Science Park,
Glasgow G20 0SP
Email Disclaimer

-Original Message-
From: Yuichi Kuroda [mailto:satellitek...@hotmail.com] 
Sent: 17 June 2010 19:52
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] ModuleInstallExecuteSequence


Hello everyone,Does WIX support modifying the
ModuleInstallExecuteSequence table in any way? It's obviously not in
thedocumentation, and I thought I've seen it used somewhere in WIX
before when I didn't need it, until now which I need to runCustom
Actions only if the Merge Module (aka Feature) is to be installed.
Giving conditions likeMyFeature  2 in the MM didn't work because it's
not aware of the features.
Thanks for any help in advance.
                        
_
Hotmail: Free, trusted and rich email service.
https://signup.live.com/signup.aspx?id=60969

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's
Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit.  See the
prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



  

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Install .Net Framework 4

2010-06-18 Thread Jason Ding
Thanks Blair for clarification, my setup is now working as expected. Appreciate 
your help!

-Original Message-
From: Blair [mailto:os...@live.com]
Sent: June 18, 2010 12:19 AM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Install .Net Framework 4

The bootstrapper instructions you supplied use a bootstrapper that creates a
setup.exe file that runs the project-associated target file (your MSI file)
after all other packages indicated in your build instructions are run. It is
expected that the user will run the setup.exe, or that you will EXE-ZIP the
entire resulting target directory and when double-clicked the self-extract
exe will run the setup.exe.

Bootstrappers run all installation packages one-by-one, with your MSI simply
being one of the packages (usually the last one).

-Original Message-
From: Jason Ding [mailto:jas...@geo-slope.com]
Sent: Thursday, June 17, 2010 9:05 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Install .Net Framework 4

I ran the Setup.msi because I think that is how user installs the product
and then msi will execute the Setup.exe. Do you mean I should ran Setup.exe?
If that is true, does Setup.exe then launch Setup.msi?

Probably I misunderstood how wix and bootstrapper work, can you clarify
please? Thank you!


From: Blair [os...@live.com]
Sent: June-17-10 7:13 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Install .Net Framework 4

The bootstrapper should run and install the indicated prerequisite packages
before launching your MSI. Thus, your original launch condition looks
appropriate. However, launching the MSI does not run the bootstrapper, as
the MSI can't realistically install prerequisites.

In your testing, are you launching the bootstrapper or the MSI?

-Original Message-
From: Jason Ding [mailto:jas...@geo-slope.com]
Sent: Thursday, June 17, 2010 3:46 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Install .Net Framework 4

My launch condition in the .wxs file is:

PropertyRef Id=NETFRAMEWORK40CLIENT/
Condition Message=[ProductName] requires Microsoft .NET Framework
version 4.0 to run, click the OK button below to install.
  ![CDATA[Installed OR NETFRAMEWORK40CLIENT]]
/Condition

And in my wix project file, I ask Bootstrapper to install .NetFramework 4.0
Client, I think that is why the install fails because it checks if
.NetFramework 4.0 Client exists, and it doesn't on my test machine, so the
install fails before going ahead to instead .NetFramework 4.0 Client.

I changed the launch condition to be NETFRAMEWORK20, now I can install
successfully, but when I run the problem, it asks to install .NetFramework
4.0.

So my questions are:
1. when I ask bootstrapper to install .NET Framework 4.0 Client, can I use
.NET Framework 4.0 Client as the launch condition?
2. when I change launch condition to be an early version, like .NetFramewrok
2.0, why the install doesn't install .NetFramwork 4.0 Client, which is what
Bootstrapper supposed to do?

Below is the my code on Bootstrapper in the wixproj file. Many thanks for
any help?


ItemGroup
BootstrapperPackage
Include=.NETFramework,Version=v4.0,Profile=Client
  VisibleFalse/Visible
  ProductName.NET Framework 4.0 Client/ProductName
  InstallTrue/Install
/BootstrapperPackage
BootstrapperPackage Include=Microsoft.Windows.Installer.4.5
  VisibleFalse/Visible
  ProductNameWindows Installer 4.5/ProductName
  Installtrue/Install
/BootstrapperPackage
/ItemGroup
...
Target Name=AfterBuild
GenerateBootstrapper ApplicationFile=$(TargetFileName)
  ApplicationName=My Application Name
  BootstrapperItems=@(BootstrapperPackage)
  ComponentsLocation=Relative
  CopyComponents=True
  OutputPath=$(OutputPath)
  Path=C:\Program Files (x86)\Microsoft
SDKs\Windows\v7.0A\Bootstrapper\/
/Target




-Original Message-
From: Blair [mailto:os...@live.com]
Sent: June 17, 2010 4:33 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Install .Net Framework 4

What specifically is your LaunchCondition associated with that error text?

-Original Message-
From: Jason Ding [mailto:jas...@geo-slope.com]
Sent: Thursday, June 17, 2010 2:24 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Install .Net Framework 4

Here is the log by using /L*vx options, i.e., all messages, it does indicate
the LaunchConditions fails, but does anyone have a clue why it fails?
Thanks.

MSI (c) (6C:04) [15:18:29:270]: Doing action: LaunchConditions
Action 15:18:29: LaunchConditions. Evaluating launch conditions
Action start 15:18:29: LaunchConditions.
   

[WiX-users] GAC an assembly without embedding it within the MSI

2010-06-18 Thread Sajo Jacob
I want to GAC an assembly already present on target machines, I know where
this assembly is on every machine (you can assume, that path is static for
all target machines and wont change) I do not want to include the assembly
to be GAC'd in the MSI since it can change with each software deployment and
we dont want our setup to be modified each time . I tried using the File
tag with Assembly =.net

File
Id=Assembly.dll
Name=Assembly.dll
Assembly=.net
Source=Assembly.dll
KeyPath=yes 
 /File


but using File embeds my assembly in the MSI. Any ideas on how to just tell
the MSI to just look for the assembly in a particular location and not
include it?
--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Quiet Execution of an executable embedded within the MSI

2010-06-18 Thread Jeremy Farrell
The traditional way to do this (discussed on this list a few times a few years 
ago) is a little hacky, but works well enough.

1) Put your executable in a self-extracting archive, using iexpress for example;

2) execute the self-extracting archive from the binary table in a 'quiet' mode, 
putting your executable in a well-known place (such as [TempFolder]);

3) use CAQuietExec to run your program from the well-known place;

4) use CAQuietExec to delete your program from the well-known place.

 -Original Message-
 From: Pally Sandher [mailto:pally.sand...@iesve.com] 
 Sent: Friday, June 18, 2010 4:29 AM
 To: General discussion for Windows Installer XML toolset.
 Subject: Re: [WiX-users] Quiet Execution of an executable 
 embedded within the MSI
 
 Binary Elements are extracted to temporary directories using auto
 generated filenames (see a verbose log for an example). It's not
 possible to use an application in a Binary Element with 
 QtExec (I looked
 at the same thing a while ago for a plug-in installer). You'll either
 need to change it to use a File Element  modify the 
 CustomAction to use
 [#fileid] instead of quot;myexec.exequot; or live without 
 QtExec or as
 Blair says, write your own Custom Actions to write the Binary 
 to disk in
 a known location so QtExec can run it.
 
 Palbinder Sandher 
 Software Deployment  IT Administrator
 T: +44 (0) 141 945 8500 
 F: +44 (0) 141 945 8501 
 
 http://www.iesve.com 
 **Design, Simulate + Innovate with the Virtual Environment**
 Integrated Environmental Solutions Limited. Registered in Scotland No.
 SC151456 
 Registered Office - Helix Building, West Of Scotland Science Park,
 Glasgow G20 0SP
 Email Disclaimer
 
 -Original Message-
 From: Leigh Wetmore [mailto:lwetm...@gmail.com] 
 Sent: 17 June 2010 18:29
 To: wix-users@lists.sourceforge.net
 Subject: [WiX-users] Quiet Execution of an executable embedded within
 the MSI
 
 Hello,
 
 I'm trying to figure out how to quietly execute (QtExec) an executable
 that I include within my MSI yet do not want installed on the user's
 machine.
 
 I've been able to achieve this without using the quiet 
 execute feature,
 but I don't like the command window popping up during installation.
 Here is the code for that:
 
 Binary Id=CfgUpdateExe SourceFile=..\bin\myexe.exe /
 
 CustomAction
   Id=LaunchCfgUpdateExe
   BinaryKey=CfgUpdateExe
   ExeCommand=quot;[TempFolder]UpdateLog.txtquot; 
 UpdateAppConfig
 quot;[DASLocation]myexec.exe.Configquot;
   Execute=deferred
   Impersonate=no
   Return=asyncNoWait /
 
 InstallExecuteSequence
   Custom Action=LaunchCfgUpdateExe
 After=InstallInitializeOLDERVERSIONDETECTED/Custom
 /InstallExecuteSequence
 
 I use the binary element to bring the executable (myexe.exe) into the
 MSI, then launch a custom action with the necessary arguments.  I have
 it executing as deferred with no impersonation as I need the admin
 privileges already captured by the installer to carry through to the
 executable.
  Again, this works fine.
 
 However, if I try to convert this to use QtExec, I'm unable 
 to get it to
 work.  Looking in the MSI install log, I see:
 
 CAQuietExec:  Error 0x80070002: Command failed to execute.
 CAQuietExec:  Error 0x80070002: CAQuietExec Failed
 
 Here is my code so far:
 
 Binary Id=CfgUpdateExe SourceFile=..\bin\myexec.exe /
 
 CustomAction
   Id=QtExecCommand
   Property=QtExecUserCfg
   Value=quot;myexec.exequot;
 quot;[TempFolder]UpdateLog.txtquot;
 quot;UpdateAppConfigquot; 
 quot;[DASLocation]myexec.exe.Configquot;
   Execute=immediate /
 CustomAction Id=QtExecUserCfg BinaryKey=WixCA
 DllEntry=CAQuietExec Execute=deferred Impersonate=no
 Return=check/
 
 InstallExecuteSequence
   Custom Action=QtExecCommand
 After=CostFinalizeOLDERVERSIONDETECTED/Custom
   Custom Action=QtExecUserCfg
 After=InstallInitializeOLDERVERSIONDETECTED/Custom
 /InstallExecuteSequence
 
 I've left the binary element there, but I don't think the 
 custom actions
 know about it.  It looks like QtExec can't find the executable which
 makes sense (I can have it run notepad.exe no problem).  I'm thinking
 maybe the files in the MSI, including myexec.exe, get extracted to a
 temp directory during installation, and I can potentially 
 reference it,
 like Value=quot;[MSITempDir]myexec.exe...?
 
 Thanks in advance for any help anyone can provide.
 
 Leigh
 --
 --
 --
 ThinkGeek and WIRED's GeekDad team up for the Ultimate 
 GeekDad Father's
 Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit.  See the
 prize list and enter to win: 
 http://p.sf.net/sfu/thinkgeek-promo
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users
 
 
 
 --
 
 

[WiX-users] Can this be done with WiX?

2010-06-18 Thread Ivo Beltchev
Hi

My name is Ivo Beltchev. I am working on the open source project Classic 
Shell: http://classicshell.sourceforge.net/
Currently I use a Visual Studio setup project to create my installer, 
but I'm hitting some of its limitations and I'm looking for a better 
solution.

Here's what I need, please tell me which are possible with WiX:

1) I need a single EXE that can be installed on both 32-bit and 64-bit 
platforms (Vista and Windows 7). Most of the files (art assets, help 
files) are common between platforms. There are 32-bit and 64-bit 
executables, which need to register themselves in the registry 
(self-registered COM). There are some registry keys, which need to be 
set correctly (bypass the 32-bit redirection on 64-bit systems). I am 
told that (at least with Visual Studio) it is not possible to have a 
single MSI file that targets 32-bit and 64-bit platforms. I think the 
problem was that you can't run the 64-bit MSI on 32-bit OS, but a 32-bit 
MSI can't contain 64-bit modules. Can WiX do this in a single package?

2) I have 2 components. With few exceptions, every installed file 
belongs to one component or the other. I want to provide UI options for 
selecting the components to install, as well as command line options for 
silent install. I also want an option to specify the install folder, 
ideally with a command line option support too.

3) I want to create a shortcut in Program Files to one of the installed 
EXEs and set its command line arguments. The shortcut needs to be 
created by the installer dynamically because it depends on the install 
folder.

4) When the installer runs a second time I want to give the user the 
options to: Remove All, Add/Remove Components, and Repair.

5) As the last step of the install process I want to launch an 
executable, but I want to launch it as the currently logged-in user, not 
as SYSTEM. (Looks like msiexec runs as SYSTEM, so any child process is 
SYSTEM by default).

6) Since some components are shell extensions, it would be nice if the 
Explorer processes are killed and restarted during uninstall. Again, 
Explorer must be restarted as the current user, not as SYSTEM. Some 
other applications that use the shell can also load my DLLs, so it will 
be nice if the uninstaller at least shows a list of affected processes 
to the user and lets him close those apps.

7) There are some ini files, which the user can modify. During uninstall 
or upgrade I want to present the option to rename the files to ini.bak 
so the user modifications are not lost. Ideally the uninstaller can 
recognize which files are modified (by comparing the timestamp with the 
original). Less ideally the uninstaller renames all ini files. Least 
ideal, the uninstaller runs a separate executable that does the work. 
The uninstaller should provide the EXE with the installation path (like 
C:\Program Files\Classic Shell).

8) Of course the installer must work correctly with different levels of UAC.

9) Ideally the build process will be integrated into Visual Studio.

10) Ideally the installer will recognize the previously installed 
version (done with the older Visual Studio setup project) and will 
uninstall it first.


Before I start going deeper into WiX, can somebody please tell me which 
of my requirements are possible? If there are some things that WiX can't 
do, but another free installer can, please point me to that other tool.

Thanks
Ivo Beltchev
Classic Shell


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] creating a clustered share?

2010-06-18 Thread Andrew Hammond
Has anyone created a clustered share using WiX before? I'm looking for an
elegant way to do this.

Best Regards,
Andrew
--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Can this be done with WiX?

2010-06-18 Thread Castro, Edwin G. (Hillsboro)
1) This isn't a limitation of Visual Studio or WiX. This is a limitation with 
Windows Installer. You'll need to have two MSI packages. A bootstrapper might 
help you consolidate them so that it appears like one installer.

2) These sound like Features in Windows Installer parlance. As you organize 
Components and ComponentGroups you'll want to ultimately have only two root 
Features that aggregate the components correctly.

3) Windows Installer (and thus WiX) has shortcut support.

4) Windows Installer (and thus Wix) supports this too.

5) You should be able to author a CustomAction to do this, but it sounds like 
you want to restart Explorer.exe and that seems dangerous to me.

6) The Restart Manager should help here but I don't know much about how it 
works.

7) You should have per-user configuration files stored in the users profile. 
You can then do what all other installers do and leave them there. If the user 
reinstalls they'll have all their old configuration files available and ready 
to use. The %ProgramFiles% filesystem is supposed to be readonly so you don't 
want user-modifiable configuration files there.

8) Make sure to author any CustomActions that need to modify the system between 
InstallInitialize and InstallFinalize in the InstallExecuteSequence with the 
appropriate impersonation requirements.

9) WiX has Visual Studio integration. Automating some of the bits that it 
doesn't do automatically is not difficult if you learn/understand MSBuild.

10) Author your installer as a MajorUpgrade and include the previous 
UpgradeCode as one of the UpgradeCodes to upgrade. You might consider to 
continue using the old UpgradeCode in the new installer.

In summary, you should be able to do most of everything you want to do. Some of 
your requirements are just not supported by Windows Installer so you'll need to 
change the requirement.

Edwin G. Castro
Software Developer - Staff
Electronic Banking Services
Fiserv
Office: 503-746-0643
Fax: 503-617-0291
www.fiserv.com
Please consider the environment before printing this e-mail


 -Original Message-
 From: Ivo Beltchev [mailto:i...@roadrunner.com]
 Sent: Friday, June 18, 2010 9:46 AM
 To: wix-users@lists.sourceforge.net
 Subject: [WiX-users] Can this be done with WiX?
 
 Hi
 
 My name is Ivo Beltchev. I am working on the open source project Classic
 Shell: http://classicshell.sourceforge.net/
 Currently I use a Visual Studio setup project to create my installer,
 but I'm hitting some of its limitations and I'm looking for a better
 solution.
 
 Here's what I need, please tell me which are possible with WiX:
 
 1) I need a single EXE that can be installed on both 32-bit and 64-bit
 platforms (Vista and Windows 7). Most of the files (art assets, help
 files) are common between platforms. There are 32-bit and 64-bit
 executables, which need to register themselves in the registry
 (self-registered COM). There are some registry keys, which need to be
 set correctly (bypass the 32-bit redirection on 64-bit systems). I am
 told that (at least with Visual Studio) it is not possible to have a
 single MSI file that targets 32-bit and 64-bit platforms. I think the
 problem was that you can't run the 64-bit MSI on 32-bit OS, but a 32-bit
 MSI can't contain 64-bit modules. Can WiX do this in a single package?
 
 2) I have 2 components. With few exceptions, every installed file
 belongs to one component or the other. I want to provide UI options for
 selecting the components to install, as well as command line options for
 silent install. I also want an option to specify the install folder,
 ideally with a command line option support too.
 
 3) I want to create a shortcut in Program Files to one of the installed
 EXEs and set its command line arguments. The shortcut needs to be
 created by the installer dynamically because it depends on the install
 folder.
 
 4) When the installer runs a second time I want to give the user the
 options to: Remove All, Add/Remove Components, and Repair.
 
 5) As the last step of the install process I want to launch an
 executable, but I want to launch it as the currently logged-in user, not
 as SYSTEM. (Looks like msiexec runs as SYSTEM, so any child process is
 SYSTEM by default).
 
 6) Since some components are shell extensions, it would be nice if the
 Explorer processes are killed and restarted during uninstall. Again,
 Explorer must be restarted as the current user, not as SYSTEM. Some
 other applications that use the shell can also load my DLLs, so it will
 be nice if the uninstaller at least shows a list of affected processes
 to the user and lets him close those apps.
 
 7) There are some ini files, which the user can modify. During uninstall
 or upgrade I want to present the option to rename the files to ini.bak
 so the user modifications are not lost. Ideally the uninstaller can
 recognize which files are modified (by comparing the timestamp with the
 original). Less ideally the uninstaller renames all ini 

Re: [WiX-users] Can this be done with WiX?

2010-06-18 Thread ivo

  1) I need a single EXE that can be installed on both 32-bit and 64-bit
  platforms (Vista and Windows 7). Most of the files (art assets, help
  files) are common between platforms. There are 32-bit and 64-bit
  executables, which need to register themselves in the registry
  (self-registered COM). There are some registry keys, which need to be
  set correctly (bypass the 32-bit redirection on 64-bit systems). I am
  told that (at least with Visual Studio) it is not possible to have a
  single MSI file that targets 32-bit and 64-bit platforms. I think the
  problem was that you can't run the 64-bit MSI on 32-bit OS, but a 32-bit
  MSI can't contain 64-bit modules. Can WiX do this in a single package?
  

 1) This isn't a limitation of Visual Studio or WiX. This is a limitation with 
 Windows Installer. You'll need to have two MSI packages. A bootstrapper might 
 help you consolidate them so that it appears like one installer.

That's what I'm currently doing. I compile 2 MSI files and package them in a 
bootstrapper EXE. The EXE extracts the right MSI into the Temp folder and runs 
it. The problem is that the Repair action looks for that MSI but it's long 
gone. It doesn't help that I'm creating a unique temp file name, so even when 
the MSI exists, it will have a new name, so Repair can't recognize it. Is there 
a better solution?


  2) I have 2 components. With few exceptions, every installed file
  belongs to one component or the other. I want to provide UI options for
  selecting the components to install, as well as command line options for
  silent install. I also want an option to specify the install folder,
  ideally with a command line option support too.

 2) These sound like Features in Windows Installer parlance. As you organize 
 Components and ComponentGroups you'll want to ultimately have only two root 
 Features that aggregate the components correctly.

Am I right to think that such components/groups are not possible to create with 
a Visual Studio setup project?


  5) As the last step of the install process I want to launch an
  executable, but I want to launch it as the currently logged-in user, not
  as SYSTEM. (Looks like msiexec runs as SYSTEM, so any child process is
  SYSTEM by default).
  

 5) You should be able to author a CustomAction to do this, but it sounds like 
 you want to restart Explorer.exe and that seems dangerous to me.

I'm not talking about Explorer.exe only, but for my own app. Is it possible for 
a CustomAction to launch my program as the logged-in user instead of SYSTEM? 
That's a limitation I'm having with my current installer. My solution is to do 
the launching in the bootstrapper, but that's not ideal.


  7) There are some ini files, which the user can modify. During uninstall
  or upgrade I want to present the option to rename the files to ini.bak
  so the user modifications are not lost. Ideally the uninstaller can
  recognize which files are modified (by comparing the timestamp with the
  original). Less ideally the uninstaller renames all ini files. Least
  ideal, the uninstaller runs a separate executable that does the work.
  The uninstaller should provide the EXE with the installation path (like
  C:\Program Files\Classic Shell).
  

 7) You should have per-user configuration files stored in the users profile. 
 You can then do what all other installers do and leave them there. If the 
 user reinstalls they'll have all their old configuration files available and 
 ready to use. The %ProgramFiles% filesystem is supposed to be readonly so you 
 don't want user-modifiable configuration files there.

The thing is that every new version adds/removes features or changes the syntax 
of the ini files. So ini files from an older version are potentially 
incompatible.
My project is a kind of system utility, so I think it is acceptable that only 
admins can edit the configuration files.
I haven't had any complaints from the users about this, so I'd like to stick 
with the current design. Is it possible to do this through WiX scripting, or 
the custom action is the only way to go?


  9) Ideally the build process will be integrated into Visual Studio.

 9) WiX has Visual Studio integration. Automating some of the bits that it 
 doesn't do automatically is not difficult if you learn/understand MSBuild.

My code is all native C++, and in Visual Studio 2008 C++ doesn't use MSBuild. 
Is it going to be a problem to mix VCBuild and MSBuild projects together?

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Can this be done with WiX?

2010-06-18 Thread Castro, Edwin G. (Hillsboro)
   1) I need a single EXE that can be installed on both 32-bit and 64-
 bit
   platforms (Vista and Windows 7). Most of the files (art assets,
 help
   files) are common between platforms. There are 32-bit and 64-bit
   executables, which need to register themselves in the registry
   (self-registered COM). There are some registry keys, which need to
 be
   set correctly (bypass the 32-bit redirection on 64-bit systems). I
 am
   told that (at least with Visual Studio) it is not possible to have
 a
   single MSI file that targets 32-bit and 64-bit platforms. I think
 the
   problem was that you can't run the 64-bit MSI on 32-bit OS, but a
 32-bit
   MSI can't contain 64-bit modules. Can WiX do this in a single
 package?
  
 
  1) This isn't a limitation of Visual Studio or WiX. This is a
 limitation with Windows Installer. You'll need to have two MSI
 packages. A bootstrapper might help you consolidate them so that it
 appears like one installer.
 
 That's what I'm currently doing. I compile 2 MSI files and package them
 in a bootstrapper EXE. The EXE extracts the right MSI into the Temp
 folder and runs it. The problem is that the Repair action looks for
 that MSI but it's long gone. It doesn't help that I'm creating a unique
 temp file name, so even when the MSI exists, it will have a new name,
 so Repair can't recognize it. Is there a better solution?

Windows Installer caches a copy of your MSI but it strips out any embedded 
cabinets. You'll need the original source for repairs. I'll let somebody with 
more knowledge provide advice.

I have heard mentioned that Windows Installer requires that the MSI package 
filename does not change (probably for Repair scenarios). You may want to make 
sure the bootstrapper EXE extracts the MSI packages using consistent naming 
every time.

   2) I have 2 components. With few exceptions, every installed file
   belongs to one component or the other. I want to provide UI options
 for
   selecting the components to install, as well as command line
 options for
   silent install. I also want an option to specify the install
 folder,
   ideally with a command line option support too.
 
  2) These sound like Features in Windows Installer parlance. As you
 organize Components and ComponentGroups you'll want to ultimately have
 only two root Features that aggregate the components correctly.
 
 Am I right to think that such components/groups are not possible to
 create with a Visual Studio setup project?

If I remember correctly, Visual Studio setup projects only allow a single 
Feature. Features and Components are a Windows Installer concepts. 
ComponentGroups and FeatureGroups are WiX concepts to help organization. Make 
sure to follow the Component Rules.

   5) As the last step of the install process I want to launch an
   executable, but I want to launch it as the currently logged-in
 user, not
   as SYSTEM. (Looks like msiexec runs as SYSTEM, so any child process
 is
   SYSTEM by default).
  
 
  5) You should be able to author a CustomAction to do this, but it
 sounds like you want to restart Explorer.exe and that seems dangerous
 to me.
 
 I'm not talking about Explorer.exe only, but for my own app. Is it
 possible for a CustomAction to launch my program as the logged-in user
 instead of SYSTEM? That's a limitation I'm having with my current
 installer. My solution is to do the launching in the bootstrapper, but
 that's not ideal.

You should be able to set the impersonation appropriately to launch your exe as 
the user.

   7) There are some ini files, which the user can modify. During
 uninstall
   or upgrade I want to present the option to rename the files to
 ini.bak
   so the user modifications are not lost. Ideally the uninstaller can
   recognize which files are modified (by comparing the timestamp with
 the
   original). Less ideally the uninstaller renames all ini files.
 Least
   ideal, the uninstaller runs a separate executable that does the
 work.
   The uninstaller should provide the EXE with the installation path
 (like
   C:\Program Files\Classic Shell).
  
 
  7) You should have per-user configuration files stored in the users
 profile. You can then do what all other installers do and leave them
 there. If the user reinstalls they'll have all their old configuration
 files available and ready to use. The %ProgramFiles% filesystem is
 supposed to be readonly so you don't want user-modifiable configuration
 files there.
 
 The thing is that every new version adds/removes features or changes
 the syntax of the ini files. So ini files from an older version are
 potentially incompatible.
 My project is a kind of system utility, so I think it is acceptable
 that only admins can edit the configuration files.
 I haven't had any complaints from the users about this, so I'd like to
 stick with the current design. Is it possible to do this through WiX
 scripting, or the custom action is the only way to go?

The %ProgramFiles% filesystem is readonly. If you 

Re: [WiX-users] Deferred custom action Impersonation.

2010-06-18 Thread Wilson, Phil
To Bob's list (which is a little out of date) I'll add that Server 2008 also 
has Hypervisor, Microsoft's newer VM technology. If you can get an x64 Server 
2008 box you can have x64 and x86 VMs. VMs really are the best way to test 
setups when you can do your tests and then revert to an untarnished image. 

Phil Wilson 

-Original Message-
From: Pally Sandher [mailto:pally.sand...@iesve.com] 
Sent: Friday, June 18, 2010 3:21 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Deferred custom action Impersonation.

http://www.joyofsetup.com/2007/09/24/test-your-setups-virtually/ 

Palbinder Sandher 
Software Deployment  IT Administrator
T: +44 (0) 141 945 8500 
F: +44 (0) 141 945 8501 

http://www.iesve.com 
**Design, Simulate + Innovate with the Virtual Environment**
Integrated Environmental Solutions Limited. Registered in Scotland No.
SC151456 
Registered Office - Helix Building, West Of Scotland Science Park,
Glasgow G20 0SP
Email Disclaimer

-Original Message-
From: Sagar [mailto:sagarkavitak...@gmail.com] 
Sent: 18 June 2010 08:11
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Deferred custom action Impersonation.


if i have a deferr=red custom action with Impersonate=yes. then on
Windows Vista with UAC enabled i get a prompt asking if the user wishes
the allow the program to access your computer. now if the user presses
allow in UAC prompt. Will my custom action be able to connect to SQL
server on another machine using windows authentication.




--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Deferred-c
ustom-action-Impersonation-tp5191516p5194260.html
Sent from the wix-users mailing list archive at Nabble.com.

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's
Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit.  See the
prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


*** Confidentiality Notice: This e-mail, including any associated or attached 
files, is intended solely for the individual or entity to which it is 
addressed. This e-mail is confidential and may well also be legally privileged. 
If you have received it in error, you are on notice of its status. Please 
notify the sender immediately by reply e-mail and then delete this message from 
your system. Please do not copy it or use it for any purposes, or disclose its 
contents to any other person. This email comes from a division of the Invensys 
Group, owned by Invensys plc, which is a company registered in England and 
Wales with its registered office at Portland House, Bressenden Place, London, 
SW1E 5BF (Registered number 166023). For a list of European legal entities 
within the Invensys Group, please go to 
http://www.invensys.com/legal/default.asp?top_nav_id=77nav_id=80prev_id=77. 
You may contact Invensys plc on +44 (0)20 7821 3848 or e-mail 
inet.hqhelpd...@invensys.com. This e-mail and any attachments thereto may be 
subject to the terms of any agreements between Invensys (and/or its 
subsidiaries and affiliates) and the recipient (and/or its subsidiaries and 
affiliates).



--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Can this be done with WiX?

2010-06-18 Thread Blair
 Windows Installer caches a copy of your MSI but it strips out any embedded 
 cabinets. You'll need the original  source for repairs. I'll let somebody 
 with more knowledge provide advice.

 I have heard mentioned that Windows Installer requires that the MSI package 
 filename does not change
  (probably for Repair scenarios). You may want to make sure the bootstrapper 
 EXE extracts the MSI packages
  using consistent naming every time.

Burn and some other bootstrappers deal with this. Another solution I have seen 
is a custom action that caches the original MSI during the installation and 
adds the cached location to the Source List.

 If I remember correctly, Visual Studio setup projects only allow a single 
 Feature. Features and Components
  are a Windows Installer concepts. ComponentGroups and FeatureGroups are WiX 
 concepts to help organization.
 Make sure to follow the Component Rules.

Just to add to this: Most of the time, you want a single file per component. 
You want to group your components into your features. You can select features 
to install via either the command-line or the UI.

 You should be able to set the impersonation appropriately to launch your exe 
 as the user.

For Vista and newer, the Restart Manager is integrated in with Windows 
Installer, and WiX exposes that integration to you to allow you to control it. 
For XP you would need a custom action. WiX already supplies a custom action 
that may possibly work for you.

 The %ProgramFiles% filesystem is readonly. If you want configuration that is 
 *not* modified by the installer
  at install time then you should place those configuration files in writable 
 filesystem. There is a place for
 such files at the system-level but I can't remember where it is. I believe 
 the folder physically maps to
 C:\ProgramData but I forget what the FolderId is for it. Let's assume you 
 copy the configuration files to
 C:\ProgramData\Classic Shell. The real question is How do you migrate 
 values in the current configuration
 file to the new configuration file on upgrades? You may need a CustomAction 
 (or more) to do this.

You could possibly read the customizations from the INI files and write those 
out to the new INI files using built-in support in Windows Installer for 
writing INI files (the built in support for reading INI files applies only to 
INI files in the windows system directory) and a custom action that reads the 
customizations from the previous INI files that you will apply to the upgrades.



--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Deferred custom action Impersonation.

2010-06-18 Thread Blair
Microsoft Hyper-V Server 2008 R2 is free to download and use, if you don't
have a Server 2008 license available. It requires an x64 box with certain
CPUs that support hardware virtualization.

-Original Message-
From: Wilson, Phil [mailto:phil.wil...@invensys.com] 
Sent: Friday, June 18, 2010 11:35 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Deferred custom action Impersonation.

To Bob's list (which is a little out of date) I'll add that Server 2008 also
has Hypervisor, Microsoft's newer VM technology. If you can get an x64
Server 2008 box you can have x64 and x86 VMs. VMs really are the best way to
test setups when you can do your tests and then revert to an untarnished
image. 

Phil Wilson 

-Original Message-
From: Pally Sandher [mailto:pally.sand...@iesve.com] 
Sent: Friday, June 18, 2010 3:21 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Deferred custom action Impersonation.

http://www.joyofsetup.com/2007/09/24/test-your-setups-virtually/ 

Palbinder Sandher 
Software Deployment  IT Administrator
T: +44 (0) 141 945 8500 
F: +44 (0) 141 945 8501 

http://www.iesve.com 
**Design, Simulate + Innovate with the Virtual Environment**
Integrated Environmental Solutions Limited. Registered in Scotland No.
SC151456 
Registered Office - Helix Building, West Of Scotland Science Park,
Glasgow G20 0SP
Email Disclaimer

-Original Message-
From: Sagar [mailto:sagarkavitak...@gmail.com] 
Sent: 18 June 2010 08:11
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Deferred custom action Impersonation.


if i have a deferr=red custom action with Impersonate=yes. then on
Windows Vista with UAC enabled i get a prompt asking if the user wishes
the allow the program to access your computer. now if the user presses
allow in UAC prompt. Will my custom action be able to connect to SQL
server on another machine using windows authentication.




--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Deferred-c
ustom-action-Impersonation-tp5191516p5194260.html
Sent from the wix-users mailing list archive at Nabble.com.

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's
Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit.  See the
prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users




--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


*** Confidentiality Notice: This e-mail, including any associated or
attached files, is intended solely for the individual or entity to which it
is addressed. This e-mail is confidential and may well also be legally
privileged. If you have received it in error, you are on notice of its
status. Please notify the sender immediately by reply e-mail and then delete
this message from your system. Please do not copy it or use it for any
purposes, or disclose its contents to any other person. This email comes
from a division of the Invensys Group, owned by Invensys plc, which is a
company registered in England and Wales with its registered office at
Portland House, Bressenden Place, London, SW1E 5BF (Registered number
166023). For a list of European legal entities within the Invensys Group,
please go to
http://www.invensys.com/legal/default.asp?top_nav_id=77nav_id=80prev_id=77
. You may contact Invensys plc on +44 (0)20 7821 3848 or e-mail
inet.hqhelpd...@invensys.com. This e-mail and any attachments thereto may be
subject to the terms of any agreements between Invensys (and/or its
subsidiaries and affiliates) and the recipient (and/or its subsidiaries and
affiliates).




--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 

Re: [WiX-users] Can this be done with WiX?

2010-06-18 Thread Castro, Edwin G. (Hillsboro)
Forwarding to the list as it was accidentally removed from the TO line.

 -Original Message-
 From: i...@roadrunner.com [mailto:i...@roadrunner.com]
 Sent: Friday, June 18, 2010 11:47 AM
 To: Castro, Edwin G. (Hillsboro)
 Subject: RE: [WiX-users] Can this be done with WiX?
 
   I compile 2 MSI files and package them
   in a bootstrapper EXE. The EXE extracts the right MSI into the Temp
   folder and runs it. The problem is that the Repair action looks for
   that MSI but it's long gone. It doesn't help that I'm creating a
 unique
   temp file name, so even when the MSI exists, it will have a new
 name,
   so Repair can't recognize it. Is there a better solution?
 
  Windows Installer caches a copy of your MSI but it strips out any
 embedded cabinets. You'll need the original source for repairs. I'll
 let somebody with more knowledge provide advice.
 
  I have heard mentioned that Windows Installer requires that the MSI
 package filename does not change (probably for Repair scenarios). You
 may want to make sure the bootstrapper EXE extracts the MSI packages
 using consistent naming every time.
 
 Can somebody that has done this before explain what is the right way to
 use a bootstrapper with Repair? Should I extract the MSI to a permanent
 location instead of the temp folder? If so, what is the recommended
 location and how to deal with upgrading from one version to the next
 (do the MSI files need to have different names for each version)?
 BTW, I expect Add/Remove features to have the same problem.
 
  You should be able to set the impersonation appropriately to launch
 your exe as the user.
 
 Are you sure WiX can do this? When I was searching for a solution
 before I came across this:
 http://stackoverflow.com/questions/2206646/create-a-process-with-
 ordinary-rights-from-an-administrator-process
 Basically people say that it can be done through the scheduler service
 (which may be disabled), through piggybacking on Explorer (which may
 not be running) or some other hacky way. Because of the hacky nature of
 the solutions I am concerned if WiX has found a good way to do this.
 
 
 Thanks for your help. Other than the 2 questions above, looks like WiX
 can do everything I need so I will give it a shot.
 
 Ivo
 
 P.S. Is there a good forum that discusses MSI issues? I am pretty new
 to this and I don't want to bother the WiX community with noobish
 installer questions.
--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Can this be done with WiX?

2010-06-18 Thread Castro, Edwin G. (Hillsboro)
  You should be able to set the impersonation appropriately to launch
 your exe as the user.
 
 Are you sure WiX can do this? When I was searching for a solution
 before I came across this:
 http://stackoverflow.com/questions/2206646/create-a-process-with-
 ordinary-rights-from-an-administrator-process
 Basically people say that it can be done through the scheduler service
 (which may be disabled), through piggybacking on Explorer (which may
 not be running) or some other hacky way. Because of the hacky nature of
 the solutions I am concerned if WiX has found a good way to do this.

The CustomAction/ element has an Impersonate attribute. The valid values are 
yes and no.

When you use Impersonate=no the custom action is executed as an account that 
has rights to modify the system. These custom actions should be scheduled 
between InstallInitialize and InstallFinalize and probably needs to be deferred 
so it executes in the privileged process.

When you use Impersonate=yes the custom action is executed as the user that 
started the MSI package. If you want to start an EXE at the end of the 
installer (and not fail the installer causing a rollback) then you should 
schedule that custom action _after_ InstallFinalize (after the install 
transaction has closed).

There's a client component and server component to a Windows Installer install.
http://blogs.msdn.com/b/rflaming/archive/2006/09/21/765452.aspx does a 
reasonable job of explaining the sequence with pretty pictures.

Edwin G. Castro
Software Developer - Staff
Electronic Banking Services
Fiserv
Office: 503-746-0643
Fax: 503-617-0291
www.fiserv.com
Please consider the environment before printing this e-mail
--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] How to control windows reboot popup window?

2010-06-18 Thread CP YEH
Hi all,

I created an installer that consists several dlls and exes. I also
supports updates so the user can update our product instead of
reinstalling our product.
So far it's pretty good.

However, when the user either updates or uninstall our product,
windows display the message asking the user to reboot the machine. I
know that mostly that's not really needed so I want to know how I can
control that message windows so that I can suppress it when it's not
needed.

Could anyone give me some advice on this? Thank you very much.

YEH

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Change media source/layout through property

2010-06-18 Thread Leif Ringstad
Hi

I'm trying to change the media layout through the command line when running
msiexec.

I thought it should be enough to have a property and set that to the
Layout of the Media, but I cannot get it to work properly.

I'm wondering if this is possible, as I've tried this, and it doesn't seem
to work. It only looks for it at the location where the msi is located. When
logging I can see the property beeing set, but it doesn't seem to affect the
media layout.

?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
Product Id=PUT-GUID-HERE Name=Test media source Language=1044
Version=1.0.0.0  Manufacturer=test  UpgradeCode=PUT-GUID-HERE
Package InstallerVersion=200 Compressed=no Description=abc /

  Property id=PATH_TO_SOURCE secure=yes
  Media id=1 Layout=[PATH_TO_SOURCE]

  Directory Id=TARGETDIR Name=SourceDir
Directory Id=ProgramFilesFolder
  Component Id=readme_comp Guid=PUT-GUID-HERE DiskId=1
File Id=readme_file Source=readme.txt /
  /Component
/Directory
 /Directory
Feature Id=test_feature Title=test
  ComponentRef=readme_comp /
/Feature
/Product
/Wix

Command line: msiexec /i test.msi PATH_TO_SOURCE=c:\somepath\

thanks,
Leif
--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] How to control windows reboot popup window?

2010-06-18 Thread Wilson, Phil
There are some properties you can set, such as REBOOT=ReallySuppress. In your 
situation I'd do the update/uninstall and create a verbose MSI log to see why 
Windows wants to reboot, or if there is something like a spurious 
ScheduleReboot in there. You don't really want to suppress a reboot if there's 
a filesinuse situation where you don't actually get the update completed until 
after a reboot. 

Phil Wilson 


-Original Message-
From: CP YEH [mailto:ntde...@gmail.com] 
Sent: Friday, June 18, 2010 12:38 PM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] How to control windows reboot popup window?

Hi all,

I created an installer that consists several dlls and exes. I also
supports updates so the user can update our product instead of
reinstalling our product.
So far it's pretty good.

However, when the user either updates or uninstall our product,
windows display the message asking the user to reboot the machine. I
know that mostly that's not really needed so I want to know how I can
control that message windows so that I can suppress it when it's not
needed.

Could anyone give me some advice on this? Thank you very much.

YEH

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


*** Confidentiality Notice: This e-mail, including any associated or attached 
files, is intended solely for the individual or entity to which it is 
addressed. This e-mail is confidential and may well also be legally privileged. 
If you have received it in error, you are on notice of its status. Please 
notify the sender immediately by reply e-mail and then delete this message from 
your system. Please do not copy it or use it for any purposes, or disclose its 
contents to any other person. This email comes from a division of the Invensys 
Group, owned by Invensys plc, which is a company registered in England and 
Wales with its registered office at Portland House, Bressenden Place, London, 
SW1E 5BF (Registered number 166023). For a list of European legal entities 
within the Invensys Group, please go to 
http://www.invensys.com/legal/default.asp?top_nav_id=77nav_id=80prev_id=77. 
You may contact Invensys plc on +44 (0)20 7821 3848 or e-mail 
inet.hqhelpd...@invensys.com. This e-mail and any attachments thereto may be 
subject to the terms of any agreements between Invensys (and/or its 
subsidiaries and affiliates) and the recipient (and/or its subsidiaries and 
affiliates).



--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Password showing in text when installing custom user for AppPool

2010-06-18 Thread Pierson Lee (PIE)
I have used the v3.5 version with VS2010 to create MSIs. I noticed that if I 
create a custom appPool and assign it a real user that this step in the basic 
logging displays the password in clear text:

Property(S): WriteIIS7ConfigChange

Can that line be encrypted or the password not be displayed for the property? I 
know that the password property itself is showing *'s

Thanks
Pierson


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Can this be done with WiX?

2010-06-18 Thread Blair
Also, most people starting an application at the end of an installation do so 
from the final UI screen of the installation, often with a checkbox selecting 
whether to start the installation or not. WiX has this functionality pretty 
much built in (such that it is only offered if the UI was used in the 
installation) which for most applications is what is preferred.


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Password showing in text when installing custom user for AppPool

2010-06-18 Thread Blair
Property Id=WriteIIS7ConfigChange Hidden=yes/

It would hide the property, so if you need other parts of that property in
the log for diagnosis you would need to set the Debug policy appropriately.
http://msdn.microsoft.com/library/aa370308.aspx

-Original Message-
From: Pierson Lee (PIE) [mailto:pierson@microsoft.com] 
Sent: Friday, June 18, 2010 2:05 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Password showing in text when installing custom user
for AppPool

I have used the v3.5 version with VS2010 to create MSIs. I noticed that if I
create a custom appPool and assign it a real user that this step in the
basic logging displays the password in clear text:

Property(S): WriteIIS7ConfigChange

Can that line be encrypted or the password not be displayed for the
property? I know that the password property itself is showing *'s

Thanks
Pierson



--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Can this be done with WiX?

2010-06-18 Thread ivo

 Blair os...@live.com wrote: 
 Also, most people starting an application at the end of an installation do so 
 from the final UI screen of the installation, often with a checkbox selecting 
 whether to start the installation or not. WiX has this functionality pretty 
 much built in (such that it is only offered if the UI was used in the 
 installation) which for most applications is what is preferred.

Got it. That's pretty much what I need, except I don't want a UI. The feature 
is a shell extension that is supposed to be running all the time. So there is 
no point to ask the user.

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Can this be done with WiX?

2010-06-18 Thread Blair
Aren't most shell extensions DLLs that Explorer.exe loads when needed? I never 
had to run one I installed...

-Original Message-
From: i...@roadrunner.com [mailto:i...@roadrunner.com] 
Sent: Friday, June 18, 2010 2:39 PM
To: General discussion for Windows Installer XML toolset.
Cc: Blair
Subject: Re: [WiX-users] Can this be done with WiX?


 Blair os...@live.com wrote: 
 Also, most people starting an application at the end of an installation do so 
 from the final UI screen of the installation, often with a checkbox selecting 
 whether to start the installation or not. WiX has this functionality pretty 
 much built in (such that it is only offered if the UI was used in the 
 installation) which for most applications is what is preferred.

Got it. That's pretty much what I need, except I don't want a UI. The feature 
is a shell extension that is supposed to be running all the time. So there is 
no point to ask the user.


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Change media source/layout through property

2010-06-18 Thread Blair
med...@layout attribute is used during the build to facilitate placement of
the files into your media layout (the way you transfer your build output
onto your multiple CDs or whatever). The data in that attribute is not
preserved in the MSI and is not available/doesn't alter the way that Windows
Installer searches for the files it installs.

You would need to change the source information in the Directory tree for
what you are trying to do, and the location of the files must be relative to
the location of the MSI file (it can't be absolute).

-Original Message-
From: Leif Ringstad [mailto:lei...@gmail.com] 
Sent: Friday, June 18, 2010 1:02 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Change media source/layout through property

Hi

I'm trying to change the media layout through the command line when running
msiexec.

I thought it should be enough to have a property and set that to the
Layout of the Media, but I cannot get it to work properly.

I'm wondering if this is possible, as I've tried this, and it doesn't seem
to work. It only looks for it at the location where the msi is located. When
logging I can see the property beeing set, but it doesn't seem to affect the
media layout.

?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
Product Id=PUT-GUID-HERE Name=Test media source Language=1044
Version=1.0.0.0  Manufacturer=test  UpgradeCode=PUT-GUID-HERE
Package InstallerVersion=200 Compressed=no Description=abc /

  Property id=PATH_TO_SOURCE secure=yes
  Media id=1 Layout=[PATH_TO_SOURCE]

  Directory Id=TARGETDIR Name=SourceDir
Directory Id=ProgramFilesFolder
  Component Id=readme_comp Guid=PUT-GUID-HERE DiskId=1
File Id=readme_file Source=readme.txt /
  /Component
/Directory
 /Directory
Feature Id=test_feature Title=test
  ComponentRef=readme_comp /
/Feature
/Product
/Wix

Command line: msiexec /i test.msi PATH_TO_SOURCE=c:\somepath\

thanks,
Leif

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Can this be done with WiX?

2010-06-18 Thread ivo
This is not a proper shell extension. It is a DLL that is injected into the 
Explorer process. There is an EXE that does the injection and re-injects the 
DLL when Explorer is restarted (due to crash or other reason).

For regular shell extensions the users will expect them to be automatically 
active after the installer is done. There is no run step or option. I am 
trying to get the same automatic behaviour for my non-traditional extension.

 Blair os...@live.com wrote: 
 Aren't most shell extensions DLLs that Explorer.exe loads when needed? I 
 never had to run one I installed...
 
 -Original Message-
 From: i...@roadrunner.com [mailto:i...@roadrunner.com] 
 Sent: Friday, June 18, 2010 2:39 PM
 To: General discussion for Windows Installer XML toolset.
 Cc: Blair
 Subject: Re: [WiX-users] Can this be done with WiX?
 
 
  Blair os...@live.com wrote: 
  Also, most people starting an application at the end of an installation do 
  so from the final UI screen of the installation, often with a checkbox 
  selecting whether to start the installation or not. WiX has this 
  functionality pretty much built in (such that it is only offered if the UI 
  was used in the installation) which for most applications is what is 
  preferred.
 
 Got it. That's pretty much what I need, except I don't want a UI. The feature 
 is a shell extension that is supposed to be running all the time. So there is 
 no point to ask the user.
 
 
 --
 ThinkGeek and WIRED's GeekDad team up for the Ultimate 
 GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
 lucky parental unit.  See the prize list and enter to win: 
 http://p.sf.net/sfu/thinkgeek-promo
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Localization - ProductCode property

2010-06-18 Thread Pratapa Reddy Sanaga
Certificates are not based on ProductCode. So how do I make sure that my
cert is not deleted during a major upgrade, but deleted during an uninstall?
Also, my msi's functionality does not change from language to language, like
it doesn't install any language specific packs etc... All my MSI does is to
install a redist of a component that doesn't care about languages, talk to a
webservice and get down a certificate. So, if we are to do a major upgrade,
it should be a well planned act by us and we will change the ProductCode for
all languages at that time.

On Thu, Jun 17, 2010 at 11:08 AM, Blair os...@live.com wrote:

 Your certificates are based on ProductCode? There is no reason I can think
 of that a Major Upgrade can't retain/reuse files or configuration from a
 previous installation.

 -Original Message-
 From: Pratapa Reddy Sanaga [mailto:pratap.san...@gmail.com]
 Sent: Thursday, June 17, 2010 8:31 AM
 To: General discussion for Windows Installer XML toolset.
 Subject: Re: [WiX-users] Localization - ProductCode property

 It is kind of complicated in my case. The IT admin would be installing a
 package on the machine. During installation, it is going to talk to the
 server and take up one slot in the account(receives a cert). The next time
 either the IT admin or the local admin runs the package on this machine, it
 will see that it has already received a cert from the server and hence make
 this execution a NOOP. So, even if the system locale is changed and the
 package is run again, I want the package to verify that certificate is
 present and, if yes, make the execution a NOOP. I won't be able to have
 this
 functionality if I have a different ProductCode for each language, because
 it will then be considered a major upgrade, right?


 Looking at the previous year's thread on this -

 http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/When-to-change

 -Product-Id-ProductCode-two-editions-of-the-same-product-td3832979.html#a383
 2979.
 I don't have a patching story for my installation package. The admin will
 just install it once. There is no repair story or upgrade story to it. The
 package would either enroll the client into the service or it fails. If it
 succeeds, then future runs of the same package(of any language) should be
 NOOP. If it fails, admin will fix the problem on the client machine and run
 the package again or get a new package from us and run it. As I said, my
 main scenario is that the package should never do a major upgrade, because
 it eats up an account slot, unnecessarily, for which the admin paid money.

 So, I'm trying to see if I'm missing anymore scenarios where I would get
 into trouble if I use the same productCode for all the languages.

 -Pratap.

 On Wed, Jun 16, 2010 at 6:56 PM, Sascha Beaumont
 sascha.beaum...@gmail.comwrote:

  Check the archives for more information, I asked a similar question
  sometime last year. I can't find the exact thread, but ended up being
  convinced to make the change. I did however find a list of pointers
  from Rob around localization - changing the PackageCode was important
  enough to be item 0 ;)
 
 
   0.  *Every* MSI should have a different PackageCode.  Even two builds
 of
   the same MSI.
 
 
  Sascha
 
 
 
  On Thu, Jun 17, 2010 at 2:28 AM, Pratapa Reddy Sanaga
  pratap.san...@gmail.com wrote:
   Hi,
  
   I was going through an example for localization and came across this
 MSDN
   page http://msdn.microsoft.com/en-us/library/aa372369. It says that we
  must
   change the productCode for every localized package. Is this a necessary
   condition or just a good practice? I'm planning to create MSIs for
  different
   languages, create transforms with english as base package, embed these
   transforms into the base package and have a bootstrapper that would
 apply
   the right transform and install the package. So, for this scenario, do
 I
   need to create different ProductCodes for different language MSIs?
  
   If I have the same product code for all the language MSIs and tomorrow
 if
  I
   find a localization bug in one language, will there be any implications
  in
   this servicing process because of the same productCode used in the
 first
   place?
  
   Thanks,
   Pratap.
  
   --
   Vote for loksatta = vote for a better future
  
 

 
 --
   ThinkGeek and WIRED's GeekDad team up for the Ultimate
   GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
   lucky parental unit.  See the prize list and enter to win:
   http://p.sf.net/sfu/thinkgeek-promo
   ___
   WiX-users mailing list
   WiX-users@lists.sourceforge.net
   https://lists.sourceforge.net/lists/listinfo/wix-users
  
 
 
 

 
 --
  ThinkGeek and WIRED's GeekDad team up for the Ultimate
  GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
  

Re: [WiX-users] Wix V2.0 sourcecode?

2010-06-18 Thread Pratapa Reddy Sanaga
I somehow couldn't find the sources in that folder. Downloaded from this
location - http://wix.sourceforge.net/releases/. Hope it would be helpful
for others.

On Tue, Jun 8, 2010 at 8:41 PM, Rob Mensching r...@robmensching.com wrote:

 WiX v2.0 source code is on CodePlex in the wix20 branch. The WiX 2.0 MSI is
 at http://wix.codeplex.com/releases/view/44406, Look at the right.

 On Tue, Jun 8, 2010 at 5:30 PM, Pratapa Reddy Sanaga 
 pratap.san...@gmail.com wrote:

  Hi,
 
  I'm trying to download the source code for Wix V2.0, but I'm getting
  redirected from http://wix.sourceforge.net/downloadv2.html to this link
  for
  V3.0 download - http://wix.codeplex.com/. Can someone give me a pointer
 to
  V2.0 pointer?
 
 
  Thanks,
  Pratap.
 
 
  --
  Vote for loksatta = vote for a better future
 
 
 --
  ThinkGeek and WIRED's GeekDad team up for the Ultimate
  GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
  lucky parental unit.  See the prize list and enter to win:
  http://p.sf.net/sfu/thinkgeek-promo
  ___
  WiX-users mailing list
  WiX-users@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/wix-users
 
 


 --
 virtually, Rob Mensching - http://RobMensching.com LLC

 --
 ThinkGeek and WIRED's GeekDad team up for the Ultimate
 GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
 lucky parental unit.  See the prize list and enter to win:
 http://p.sf.net/sfu/thinkgeek-promo
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users




-- 
Vote for loksatta = vote for a better future
--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Transforms in Wix 2.0

2010-06-18 Thread Pratapa Reddy Sanaga
Thank you very much. This helped me a lot!

On Mon, Jun 7, 2010 at 1:20 PM, Blair os...@live.com wrote:

 In v2 it was $(loc.StringId). That was changed to !(loc.StringId) in v3
 (IMHO to make it more obvious when the replacement happens [precompile vs.
 late-stage linking/binding]).

 V2 users must use MSI-SDK tools for creating transforms. See MSDN for
 examples.

 -Original Message-
 From: Pratapa Reddy Sanaga [mailto:pratap.san...@gmail.com]
 Sent: Monday, June 07, 2010 12:22 PM
 To: General discussion for Windows Installer XML toolset.
 Subject: [WiX-users] Transforms in Wix 2.0

 Hi,

 Does Wix 2.0 have support for creating transforms? I see that Torch tool
 has
 been introduced in Wix 3.0. How did Wix 2.0 users create transforms?

 Also, !(loc.StringIdForError) format for custom error message localization
 doesn't work when the MSI is created with Wix 2.0 tools. Maybe Wix 2.0 had
 some other syntax for string localization? Can someone help me with that?

 We use Wix 2.0 toolset at work and I am trying to figure out if we must
 upgrade to Wix 3.0 tools to do that above tasks.

 Thanks,
 Pratap.

 --
 Vote for loksatta = vote for a better future

 
 --
 ThinkGeek and WIRED's GeekDad team up for the Ultimate
 GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
 lucky parental unit.  See the prize list and enter to win:
 http://p.sf.net/sfu/thinkgeek-promo
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users



 --
 ThinkGeek and WIRED's GeekDad team up for the Ultimate
 GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
 lucky parental unit.  See the prize list and enter to win:
 http://p.sf.net/sfu/thinkgeek-promo
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users




-- 
Vote for loksatta = vote for a better future
--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Change media source/layout through property

2010-06-18 Thread Leif Ringstad
Thanks for the reply.

I was afraid it was so. I ended up packaging the msi's + files into a nsis
installer which unpacks to temp and then installs.

cheers,
Leif

On Fri, Jun 18, 2010 at 11:56 PM, Blair os...@live.com wrote:

 med...@layout attribute is used during the build to facilitate placement of
 the files into your media layout (the way you transfer your build output
 onto your multiple CDs or whatever). The data in that attribute is not
 preserved in the MSI and is not available/doesn't alter the way that
 Windows
 Installer searches for the files it installs.

 You would need to change the source information in the Directory tree for
 what you are trying to do, and the location of the files must be relative
 to
 the location of the MSI file (it can't be absolute).

 -Original Message-
 From: Leif Ringstad [mailto:lei...@gmail.com]
 Sent: Friday, June 18, 2010 1:02 PM
 To: wix-users@lists.sourceforge.net
 Subject: [WiX-users] Change media source/layout through property

 Hi

 I'm trying to change the media layout through the command line when running
 msiexec.

 I thought it should be enough to have a property and set that to the
 Layout of the Media, but I cannot get it to work properly.

 I'm wondering if this is possible, as I've tried this, and it doesn't seem
 to work. It only looks for it at the location where the msi is located.
 When
 logging I can see the property beeing set, but it doesn't seem to affect
 the
 media layout.

 ?xml version=1.0 encoding=UTF-8?
 Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
 Product Id=PUT-GUID-HERE Name=Test media source Language=1044
 Version=1.0.0.0  Manufacturer=test  UpgradeCode=PUT-GUID-HERE
 Package InstallerVersion=200 Compressed=no Description=abc /

  Property id=PATH_TO_SOURCE secure=yes
  Media id=1 Layout=[PATH_TO_SOURCE]

  Directory Id=TARGETDIR Name=SourceDir
Directory Id=ProgramFilesFolder
  Component Id=readme_comp Guid=PUT-GUID-HERE DiskId=1
File Id=readme_file Source=readme.txt /
  /Component
/Directory
  /Directory
 Feature Id=test_feature Title=test
  ComponentRef=readme_comp /
 /Feature
 /Product
 /Wix

 Command line: msiexec /i test.msi PATH_TO_SOURCE=c:\somepath\

 thanks,
 Leif

 
 --
 ThinkGeek and WIRED's GeekDad team up for the Ultimate
 GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
 lucky parental unit.  See the prize list and enter to win:
 http://p.sf.net/sfu/thinkgeek-promo
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users



 --
 ThinkGeek and WIRED's GeekDad team up for the Ultimate
 GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
 lucky parental unit.  See the prize list and enter to win:
 http://p.sf.net/sfu/thinkgeek-promo
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Can this be done with WiX?

2010-06-18 Thread Blair
(keeping the thread on the list so future generations can benefit)

The source list is described here: 
http://msdn.microsoft.com/library/aa369795.aspx and here: 
http://msdn.microsoft.com/library/aa371859.aspx along with a few other places. 
It is the list of directories that Windows Installer will search to find the 
non-stripped version of the MSI for each installed product whenever it needs it 
(you get a ResolveSource prompt when that search fails). The list contains just 
the directories: the MSI's name is separately stored and can't be changed. When 
a product is uninstalled, the associated source list is automatically removed 
(along with all other metadata related to that product). The content of that 
source list, however, is not (so you would need to remove your cached MSI when 
your product is removed).

A component is Windows Installer's atomic unit of installation: it consists of 
resource(s) (files, registry values, etc.) that assume one identity (the 
keypath of the component) and one name (a GUID for cross-package use and an 
identifier for use within a given database) and the identity is used to 
determine the entire component's health and status: for that reason it is 
generally encouraged that you have only one file per component. Search for 
Component Rules to get a feeling for what you need to know to avoid 
creating packages that can't be upgraded/serviced/cleanly removed.

A feature is the fundamental user selection grouping of what is or isn't 
installed (in MSWord, for instance, a spell-check for any arbitrary language 
dictionary is a feature, as the program can run with or without it). That 
appears analogous to your use of the term component in your first email in 
this thread.

A product is a collection of features and components (any given component may 
be a member of more than one feature but must be a member of at least one or it 
could never be installed, removed, or even maintained) that can exist 
independently of any other product, is instanced such that only one can be on 
any given computer at a time. Products can be tied together in a family via an 
UpgradeCode which is typically used to remove old versions and prevent 
downgrading (overwriting a newer version by replacing it with an older one). 
Products are supplied via a package (an MSI database file) which provides the 
complete definition of an arbitrary instance of a product.

MSI can copy or move files (which includes renames) but typically it moves them 
after overwriting them. You can extend MSI via custom actions which you can use 
to rename your .ini files. WiX provides for the use of just about every feature 
available in Windows Installer (in fact, if one were so inclined, you could 
reauthor every other MSI file in WiX).

-Original Message-
From: i...@roadrunner.com [mailto:i...@roadrunner.com] 
Sent: Friday, June 18, 2010 12:11 PM
To: Blair
Subject: RE: [WiX-users] Can this be done with WiX?


 Blair os...@live.com wrote: 
  Windows Installer caches a copy of your MSI but it strips out any embedded 
  cabinets. You'll need the original  source for repairs. I'll let somebody 
  with more knowledge provide advice.
 
  I have heard mentioned that Windows Installer requires that the MSI package 
  filename does not change
   (probably for Repair scenarios). You may want to make sure the 
  bootstrapper EXE extracts the MSI packages
   using consistent naming every time.
 
 Burn and some other bootstrappers deal with this. Another solution I have 
 seen is a custom action that caches the original MSI during the installation 
 and adds the cached location to the Source List.

I'll check out Burn. But I would prefer to write my own bootstrapper. So I just 
need to know where to put the MSIs, how do I name them, and will the 
uninstaller know to delete them in the end? Where can I read more about that 
Source List?


 
  If I remember correctly, Visual Studio setup projects only allow a single 
  Feature. Features and Components
   are a Windows Installer concepts. ComponentGroups and FeatureGroups are 
  WiX concepts to help organization.
  Make sure to follow the Component Rules.
 
 Just to add to this: Most of the time, you want a single file per component. 
 You want to group your components into your features. You can select features 
 to install via either the command-line or the UI.

Silly terminology question - I know what a file is, I'm guessing a feature is 
something that the user can select/deselect, but then what's a component? Can 
I have features, with files inside?


 You could possibly read the customizations from the INI files and write 
 those out to the new INI files using built-in support in Windows Installer 
 for writing INI files (the built in support for reading INI files applies 
 only to INI files in the windows system directory) and a custom action that 
 reads the customizations from the previous INI files that you will apply to 
 the upgrades.

It is not that simple. 

Re: [WiX-users] Localization - ProductCode property

2010-06-18 Thread Blair
Typically Windows Installer will only delete what it writes. You have to do
extra work to delete other things (like stuff generated during an
installation). You can easily condition that extra work to only operate when
a removal is NOT part of an upgrade. (See the UPGRADINGPRODUCTCODE
property).

Functionality change is not related to the degree of upgrading. The
difference between Major Upgrades and other scales of upgrades/updates is
the freedom allowed during the upgrade and whether it can be accomplished
without bootstrapping. For most use cases (virtually all those that don't
involve MSP files), major upgrade all-the-time becomes the most sensible way
to do upgrades (see Bob's blog on paying for upgrades for one discussion
on the whys and costs).

-Original Message-
From: Pratapa Reddy Sanaga [mailto:pratap.san...@gmail.com] 
Sent: Friday, June 18, 2010 3:13 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Localization - ProductCode property

Certificates are not based on ProductCode. So how do I make sure that my
cert is not deleted during a major upgrade, but deleted during an uninstall?
Also, my msi's functionality does not change from language to language, like
it doesn't install any language specific packs etc... All my MSI does is to
install a redist of a component that doesn't care about languages, talk to a
webservice and get down a certificate. So, if we are to do a major upgrade,
it should be a well planned act by us and we will change the ProductCode for
all languages at that time.

On Thu, Jun 17, 2010 at 11:08 AM, Blair os...@live.com wrote:

 Your certificates are based on ProductCode? There is no reason I can think
 of that a Major Upgrade can't retain/reuse files or configuration from a
 previous installation.

 -Original Message-
 From: Pratapa Reddy Sanaga [mailto:pratap.san...@gmail.com]
 Sent: Thursday, June 17, 2010 8:31 AM
 To: General discussion for Windows Installer XML toolset.
 Subject: Re: [WiX-users] Localization - ProductCode property

 It is kind of complicated in my case. The IT admin would be installing a
 package on the machine. During installation, it is going to talk to the
 server and take up one slot in the account(receives a cert). The next time
 either the IT admin or the local admin runs the package on this machine,
it
 will see that it has already received a cert from the server and hence
make
 this execution a NOOP. So, even if the system locale is changed and the
 package is run again, I want the package to verify that certificate is
 present and, if yes, make the execution a NOOP. I won't be able to have
 this
 functionality if I have a different ProductCode for each language, because
 it will then be considered a major upgrade, right?


 Looking at the previous year's thread on this -


http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/When-to-change


-Product-Id-ProductCode-two-editions-of-the-same-product-td3832979.html#a383
 2979.
 I don't have a patching story for my installation package. The admin will
 just install it once. There is no repair story or upgrade story to it. The
 package would either enroll the client into the service or it fails. If it
 succeeds, then future runs of the same package(of any language) should be
 NOOP. If it fails, admin will fix the problem on the client machine and
run
 the package again or get a new package from us and run it. As I said, my
 main scenario is that the package should never do a major upgrade, because
 it eats up an account slot, unnecessarily, for which the admin paid money.

 So, I'm trying to see if I'm missing anymore scenarios where I would get
 into trouble if I use the same productCode for all the languages.

 -Pratap.

 On Wed, Jun 16, 2010 at 6:56 PM, Sascha Beaumont
 sascha.beaum...@gmail.comwrote:

  Check the archives for more information, I asked a similar question
  sometime last year. I can't find the exact thread, but ended up being
  convinced to make the change. I did however find a list of pointers
  from Rob around localization - changing the PackageCode was important
  enough to be item 0 ;)
 
 
   0.  *Every* MSI should have a different PackageCode.  Even two builds
 of
   the same MSI.
 
 
  Sascha
 
 
 
  On Thu, Jun 17, 2010 at 2:28 AM, Pratapa Reddy Sanaga
  pratap.san...@gmail.com wrote:
   Hi,
  
   I was going through an example for localization and came across this
 MSDN
   page http://msdn.microsoft.com/en-us/library/aa372369. It says that we
  must
   change the productCode for every localized package. Is this a
necessary
   condition or just a good practice? I'm planning to create MSIs for
  different
   languages, create transforms with english as base package, embed these
   transforms into the base package and have a bootstrapper that would
 apply
   the right transform and install the package. So, for this scenario, do
 I
   need to create different ProductCodes for different language MSIs?
  
   If I 

Re: [WiX-users] Password showing in text when installing custom user for AppPool

2010-06-18 Thread Pierson Lee (PIE)
Will making that change affect the property itself? It isn't a property I 
create, its from the IIS custom action.

-Original Message-
From: Blair [mailto:os...@live.com] 
Sent: Friday, June 18, 2010 2:35 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Password showing in text when installing custom user 
for AppPool

Property Id=WriteIIS7ConfigChange Hidden=yes/

It would hide the property, so if you need other parts of that property in the 
log for diagnosis you would need to set the Debug policy appropriately.
http://msdn.microsoft.com/library/aa370308.aspx

-Original Message-
From: Pierson Lee (PIE) [mailto:pierson@microsoft.com]
Sent: Friday, June 18, 2010 2:05 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Password showing in text when installing custom user for 
AppPool

I have used the v3.5 version with VS2010 to create MSIs. I noticed that if I 
create a custom appPool and assign it a real user that this step in the basic 
logging displays the password in clear text:

Property(S): WriteIIS7ConfigChange

Can that line be encrypted or the password not be displayed for the property? I 
know that the password property itself is showing *'s

Thanks
Pierson



--
ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day 
Giveaway. ONE MASSIVE PRIZE to the lucky parental unit.  See the prize list and 
enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day 
Giveaway. ONE MASSIVE PRIZE to the lucky parental unit.  See the prize list and 
enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Can this be done with WiX?

2010-06-18 Thread ivo

 Blair os...@live.com wrote: 
 (keeping the thread on the list so future generations can benefit)
 
 The source list is described here: 
 http://msdn.microsoft.com/library/aa369795.aspx and here: 
 http://msdn.microsoft.com/library/aa371859.aspx along with a few other 
 places. It is the list of directories that Windows Installer will search to 
 find the non-stripped version of the MSI for each installed product whenever 
 it needs it (you get a ResolveSource prompt when that search fails). The list 
 contains just the directories: the MSI's name is separately stored and can't 
 be changed. When a product is uninstalled, the associated source list is 
 automatically removed (along with all other metadata related to that 
 product). The content of that source list, however, is not (so you would need 
 to remove your cached MSI when your product is removed).

I see. So as I understand it, I have to keep the MSI around while the software 
is installed. Is there a recommended location for such cached MSIs? And is it 
even possible for the MSI to delete itself during uninstall?
How does Burn handle this?

 A component is Windows Installer's atomic unit of installation: it consists 
 of resource(s) (files, registry values, etc.) that assume one identity (the 
 keypath of the component) and one name (a GUID for cross-package use and an 
 identifier for use within a given database) and the identity is used to 
 determine the entire component's health and status: for that reason it is 
 generally encouraged that you have only one file per component. Search for 
 Component Rules to get a feeling for what you need to know to avoid 
 creating packages that can't be upgraded/serviced/cleanly removed.
 
 A feature is the fundamental user selection grouping of what is or isn't 
 installed (in MSWord, for instance, a spell-check for any arbitrary language 
 dictionary is a feature, as the program can run with or without it). That 
 appears analogous to your use of the term component in your first email in 
 this thread.
 
 A product is a collection of features and components (any given component may 
 be a member of more than one feature but must be a member of at least one or 
 it could never be installed, removed, or even maintained) that can exist 
 independently of any other product, is instanced such that only one can be on 
 any given computer at a time. Products can be tied together in a family via 
 an UpgradeCode which is typically used to remove old versions and prevent 
 downgrading (overwriting a newer version by replacing it with an older one). 
 Products are supplied via a package (an MSI database file) which provides the 
 complete definition of an arbitrary instance of a product.
 
 MSI can copy or move files (which includes renames) but typically it moves 
 them after overwriting them. You can extend MSI via custom actions which you 
 can use to rename your .ini files. WiX provides for the use of just about 
 every feature available in Windows Installer (in fact, if one were so 
 inclined, you could reauthor every other MSI file in WiX).

Thanks, that was very detailed and clear explanation.


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] getting a list of properties from an already-build MSI?

2010-06-18 Thread Andrew Hammond
Is there a way to get a list of properties from an MSI? I can install it if
necessary.

A
--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Password showing in text when installing custom user for AppPool

2010-06-18 Thread Blair
It doesn't create the property itself (although it does create a record for
the linker of that property). It simply and only adds that property's name
to the property described in the MSDN page I provided.

However, after glancing in the WiX sources, are you sure it isn't
WriteIIS7ConfigChanges?

-Original Message-
From: Pierson Lee (PIE) [mailto:pierson@microsoft.com] 
Sent: Friday, June 18, 2010 4:00 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Password showing in text when installing custom
user for AppPool

Will making that change affect the property itself? It isn't a property I
create, its from the IIS custom action.

-Original Message-
From: Blair [mailto:os...@live.com] 
Sent: Friday, June 18, 2010 2:35 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Password showing in text when installing custom
user for AppPool

Property Id=WriteIIS7ConfigChange Hidden=yes/

It would hide the property, so if you need other parts of that property in
the log for diagnosis you would need to set the Debug policy appropriately.
http://msdn.microsoft.com/library/aa370308.aspx

-Original Message-
From: Pierson Lee (PIE) [mailto:pierson@microsoft.com]
Sent: Friday, June 18, 2010 2:05 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Password showing in text when installing custom user
for AppPool

I have used the v3.5 version with VS2010 to create MSIs. I noticed that if I
create a custom appPool and assign it a real user that this step in the
basic logging displays the password in clear text:

Property(S): WriteIIS7ConfigChange

Can that line be encrypted or the password not be displayed for the
property? I know that the password property itself is showing *'s

Thanks
Pierson



--
ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day
Giveaway. ONE MASSIVE PRIZE to the lucky parental unit.  See the prize list
and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



--
ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day
Giveaway. ONE MASSIVE PRIZE to the lucky parental unit.  See the prize list
and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] getting a list of properties from an already-build MSI?

2010-06-18 Thread Blair
There are properties that are defined by the system, properties that are
defined by the package (initial values are in the Property table), and
properties that are created while the installation transaction proceeds
(whether by searches or custom actions).

To see final values for all custom actions (as well as property creations
and value changes) generate a verbose log in your transaction.

-Original Message-
From: Andrew Hammond [mailto:andrew.george.hamm...@gmail.com] 
Sent: Friday, June 18, 2010 4:31 PM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] getting a list of properties from an already-build MSI?

Is there a way to get a list of properties from an MSI? I can install it if
necessary.

A

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Can this be done with WiX?

2010-06-18 Thread Blair
 I see. So as I understand it, I have to keep the MSI around while the 
 software is installed. Is there a
 recommended location for such cached MSIs? And is it even possible for the 
 MSI to delete itself during
 uninstall?
 How does Burn handle this?

If the MSI is installed per-user, it would be recommended to cache it somewhere 
in the user's roaming profile (since per-user installations can roam). In the 
case of per-machine installation, it should be place somewhere outside of all 
user profiles that only someone with admin privileges can change (to prevent 
using your software being a vector for an escalation of privilege virus 
attack). Don't use private\system directories (such as the C:\Installer folder) 
as those are not managed by you and there is no guarantee that the contents 
won't be cleaned out underneath you. For this same reason, it is not 
recommended to cache it in any temporary location, such as under %TEMP%.

There is some software that has cached MSI files in the C:\Windows\Downloaded 
Installations folder, but that location may be subject to cleanup by the 
disk cleanup tool. Other locations I have seen include under the Common Files 
folder of the Program Files folder, in a hidden folder of the program's own 
installation folder, and in custom hidden folders off the system drive's root 
folder.

I'm not sure where burn caches, I would have to look in through the source 
code, although I believe it is under the control of the UI you add to burn, so 
it could potentially be anywhere.


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Can this be done with WiX?

2010-06-18 Thread ivo

 Blair os...@live.com wrote: 
  I see. So as I understand it, I have to keep the MSI around while the 
  software is installed. Is there a
  recommended location for such cached MSIs? And is it even possible for the 
  MSI to delete itself during
  uninstall?
  How does Burn handle this?
 
 If the MSI is installed per-user, it would be recommended to cache it 
 somewhere in the user's roaming profile (since per-user installations can 
 roam). In the case of per-machine installation, it should be place somewhere 
 outside of all user profiles that only someone with admin privileges can 
 change (to prevent using your software being a vector for an escalation of 
 privilege virus attack). Don't use private\system directories (such as the 
 C:\Installer folder) as those are not managed by you and there is no 
 guarantee that the contents won't be cleaned out underneath you. For this 
 same reason, it is not recommended to cache it in any temporary location, 
 such as under %TEMP%.
 
 There is some software that has cached MSI files in the 
 C:\Windows\Downloaded Installations folder, but that location may be 
 subject to cleanup by the disk cleanup tool. Other locations I have seen 
 include under the Common Files folder of the Program Files folder, in a 
 hidden folder of the program's own installation folder, and in custom hidden 
 folders off the system drive's root folder.
 
 I'm not sure where burn caches, I would have to look in through the source 
 code, although I believe it is under the control of the UI you add to burn, 
 so it could potentially be anywhere.
 

Hmm... I see a problem. I don't want my bootstrapper to run as admin, so it 
won't have access to the protected areas like Program Files. The reason I don't 
want to run as admin is because then it won't be able to launch stuff on behalf 
of the logged in user (which may be different from the admin). This is getting 
hairier and hairier.


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] getting a list of properties from an already-build MSI?

2010-06-18 Thread Andrew Hammond
My goal is to take an msi and find out what properties I can pass it on the
command line when I run msiexec. I see a number of entries from the log when
I install it that look like the following:

MSI (s) (D8:D0) [17:07:48:626]: PROPERTY CHANGE: Adding BIN property. Its
value is 'redacted'.
MSI (s) (D8:D0) [17:07:48:626]: PROPERTY CHANGE: Adding CONFIGS property.
Its value is 'redacted'.
MSI (s) (D8:D0) [17:07:48:626]: PROPERTY CHANGE: Adding INSTALLDIR property.
Its value is 'redacted'.
MSI (s) (D8:D0) [17:07:48:626]: PROPERTY CHANGE: Adding TARGETDIR property.
Its value is 'redacted'.
MSI (s) (D8:D0) [17:07:48:626]: PROPERTY CHANGE: Adding CURRENTDIRECTORY
property. Its value is 'redacted'.

Are these the properties?

Andrew

On Fri, Jun 18, 2010 at 4:49 PM, Blair os...@live.com wrote:

 There are properties that are defined by the system, properties that are
 defined by the package (initial values are in the Property table), and
 properties that are created while the installation transaction proceeds
 (whether by searches or custom actions).

 To see final values for all custom actions (as well as property creations
 and value changes) generate a verbose log in your transaction.

 -Original Message-
 From: Andrew Hammond [mailto:andrew.george.hamm...@gmail.com]
 Sent: Friday, June 18, 2010 4:31 PM
 To: General discussion for Windows Installer XML toolset.
 Subject: [WiX-users] getting a list of properties from an already-build
 MSI?

 Is there a way to get a list of properties from an MSI? I can install it if
 necessary.

 A

 
 --
 ThinkGeek and WIRED's GeekDad team up for the Ultimate
 GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
 lucky parental unit.  See the prize list and enter to win:
 http://p.sf.net/sfu/thinkgeek-promo
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users



 --
 ThinkGeek and WIRED's GeekDad team up for the Ultimate
 GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
 lucky parental unit.  See the prize list and enter to win:
 http://p.sf.net/sfu/thinkgeek-promo
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Can this be done with WiX?

2010-06-18 Thread Blair
Two solutions I have seen to deal with this:

1- Use a custom action to cache the MSI and add the cache directory to the 
source list.
2- Use a bootstrapper that launches asInvoker, then relaunches either itself or 
some extracted code as administrator. You then have elevated code for 
installing things, and non-elevated code for launching things.

-Original Message-
From: i...@roadrunner.com [mailto:i...@roadrunner.com] 
Sent: Friday, June 18, 2010 5:25 PM
To: 'General discussion for Windows Installer XML toolset.'; Blair
Subject: RE: [WiX-users] Can this be done with WiX?


 Blair os...@live.com wrote: 
  I see. So as I understand it, I have to keep the MSI around while the 
  software is installed. Is there a
  recommended location for such cached MSIs? And is it even possible for the 
  MSI to delete itself during
  uninstall?
  How does Burn handle this?
 
 If the MSI is installed per-user, it would be recommended to cache it 
 somewhere in the user's roaming profile (since per-user installations can 
 roam). In the case of per-machine installation, it should be place somewhere 
 outside of all user profiles that only someone with admin privileges can 
 change (to prevent using your software being a vector for an escalation of 
 privilege virus attack). Don't use private\system directories (such as the 
 C:\Installer folder) as those are not managed by you and there is no 
 guarantee that the contents won't be cleaned out underneath you. For this 
 same reason, it is not recommended to cache it in any temporary location, 
 such as under %TEMP%.
 
 There is some software that has cached MSI files in the 
 C:\Windows\Downloaded Installations folder, but that location may be 
 subject to cleanup by the disk cleanup tool. Other locations I have seen 
 include under the Common Files folder of the Program Files folder, in a 
 hidden folder of the program's own installation folder, and in custom hidden 
 folders off the system drive's root folder.
 
 I'm not sure where burn caches, I would have to look in through the source 
 code, although I believe it is under the control of the UI you add to burn, 
 so it could potentially be anywhere.
 

Hmm... I see a problem. I don't want my bootstrapper to run as admin, so it 
won't have access to the protected areas like Program Files. The reason I don't 
want to run as admin is because then it won't be able to launch stuff on behalf 
of the logged in user (which may be different from the admin). This is getting 
hairier and hairier.



--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Set package name dynamically

2010-06-18 Thread Matt Johnson
Is there any way to set the packa...@description property dynamically?  It does 
seem to accept bracket-style properties, but it only uses the values that those 
properties are initialized to on startup.  If I change the value during 
install, I still get the original value displayed in Add/Remove Programs.

Basically, my application is cobranded with different names and I'm building a 
generic installer.  I read the brand name from a license key in a custom action 
before the first UI dialog.  I use that to decide what to set the ProductName 
property to and what graphics to load in to the UI.

It works great, except I can't get the name in add/remove programs updated.  I 
tried changing the 
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{guid}\DisplayName 
value, but it seems to have no effect.

The docs say that that packa...@description ends up in the summary information 
stream.  Is there a way to write to the summary information stream dynamically 
at runtime? Or is this hardcoded into the MSI?  Perhaps there's a way to write 
to the cached MSI that Add/Remove programs is looking at?  I'm not sure where 
it's cached to.  Please help.

Thanks,

Matt Johnson MCPD, MCTS, MCSD, MCDBA
Director of Application Development
Time America, Inc.
ma...@timeamerica.commailto:ma...@timeamerica.com | 
www.timeamerica.comhttp://www.timeamerica.com/

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Can this be done with WiX?

2010-06-18 Thread ivo
 Two solutions I have seen to deal with this:
 
 1- Use a custom action to cache the MSI and add the cache directory to the 
 source list.
 2- Use a bootstrapper that launches asInvoker, then relaunches either itself 
 or some extracted code as administrator. You then have elevated code for 
 installing things, and non-elevated code for launching things.

#1 looks ideal. I'll extract into %ALLUSERSPROFILE% and will add that to the 
source list.

Thanks

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Set package name dynamically

2010-06-18 Thread Blair
The summary information stream is MSI metadata outside of the MSI SQL
database (but inside of the MSI file) and uses a different set of APIs to
access than the rest of the data in the file. Changing it would have to
occur before you start an installation transaction, and if you codesign your
MSIs to prove to your customers that no tampering has occurred, changing the
summary info stream will invalidate your signature (the system will treat it
as if it had never been signed, including the scarier UAC-related prompt
used with unsigned files vs. the one used with signed files).

The data in the registry related to display in ARP is used only for legacy
installations (those that are non-MSI based). The only way to, at runtime,
change that data is to use the ARPSYSTEMCOMPONENT property and then write an
entirely new legacy registry entry for ARP. However, there are downsides
to that: for one - you lose the Repair button in ARP.

A discussion on using that property, including some dangers and some
mitigations, can be found by checking the posts on this page:
http://blogs.msdn.com/b/heaths/archive/tags/arpsystemcomponent/. I recommend
reading the blogs in the order they were written, which would mean oldest
first (bottom of page?).

-Original Message-
From: Matt Johnson [mailto:ma...@timeamerica.com] 
Sent: Friday, June 18, 2010 5:46 PM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] Set package name dynamically

Is there any way to set the packa...@description property dynamically?  It
does seem to accept bracket-style properties, but it only uses the values
that those properties are initialized to on startup.  If I change the value
during install, I still get the original value displayed in Add/Remove
Programs.

Basically, my application is cobranded with different names and I'm building
a generic installer.  I read the brand name from a license key in a custom
action before the first UI dialog.  I use that to decide what to set the
ProductName property to and what graphics to load in to the UI.

It works great, except I can't get the name in add/remove programs updated.
I tried changing the
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{guid}\DisplayName
value, but it seems to have no effect.

The docs say that that packa...@description ends up in the summary
information stream.  Is there a way to write to the summary information
stream dynamically at runtime? Or is this hardcoded into the MSI?  Perhaps
there's a way to write to the cached MSI that Add/Remove programs is looking
at?  I'm not sure where it's cached to.  Please help.

Thanks,

Matt Johnson MCPD, MCTS, MCSD, MCDBA
Director of Application Development
Time America, Inc.
ma...@timeamerica.commailto:ma...@timeamerica.com |
www.timeamerica.comhttp://www.timeamerica.com/


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] getting a list of properties from an already-build MSI?

2010-06-18 Thread Blair
Those would be some, yes.

Depending on how the MSI and the various custom actions in it work, some
subset of all the properties that are in all CAPS may be set from the
commandline. However, it is possible for custom actions to override any of
those properties you set with values of its own. Further, any of those
properties not found in the list on this page:
http://msdn.microsoft.com/library/aa371243.aspx or those in the
SecureCustomProperties property may be ignored by the server-side of the
installation (but not the client side).

-Original Message-
From: Andrew Hammond [mailto:andrew.george.hamm...@gmail.com] 
Sent: Friday, June 18, 2010 5:16 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] getting a list of properties from an already-build
MSI?

My goal is to take an msi and find out what properties I can pass it on the
command line when I run msiexec. I see a number of entries from the log when
I install it that look like the following:

MSI (s) (D8:D0) [17:07:48:626]: PROPERTY CHANGE: Adding BIN property. Its
value is 'redacted'.
MSI (s) (D8:D0) [17:07:48:626]: PROPERTY CHANGE: Adding CONFIGS property.
Its value is 'redacted'.
MSI (s) (D8:D0) [17:07:48:626]: PROPERTY CHANGE: Adding INSTALLDIR property.
Its value is 'redacted'.
MSI (s) (D8:D0) [17:07:48:626]: PROPERTY CHANGE: Adding TARGETDIR property.
Its value is 'redacted'.
MSI (s) (D8:D0) [17:07:48:626]: PROPERTY CHANGE: Adding CURRENTDIRECTORY
property. Its value is 'redacted'.

Are these the properties?

Andrew

On Fri, Jun 18, 2010 at 4:49 PM, Blair os...@live.com wrote:

 There are properties that are defined by the system, properties that are
 defined by the package (initial values are in the Property table), and
 properties that are created while the installation transaction proceeds
 (whether by searches or custom actions).

 To see final values for all custom actions (as well as property creations
 and value changes) generate a verbose log in your transaction.

 -Original Message-
 From: Andrew Hammond [mailto:andrew.george.hamm...@gmail.com]
 Sent: Friday, June 18, 2010 4:31 PM
 To: General discussion for Windows Installer XML toolset.
 Subject: [WiX-users] getting a list of properties from an already-build
 MSI?

 Is there a way to get a list of properties from an MSI? I can install it
if
 necessary.

 A



 --
 ThinkGeek and WIRED's GeekDad team up for the Ultimate
 GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
 lucky parental unit.  See the prize list and enter to win:
 http://p.sf.net/sfu/thinkgeek-promo
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users





--
 ThinkGeek and WIRED's GeekDad team up for the Ultimate
 GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
 lucky parental unit.  See the prize list and enter to win:
 http://p.sf.net/sfu/thinkgeek-promo
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] GAC an assembly without embedding it within the MSI

2010-06-18 Thread Blair
How does that file get on customers' machines and why didn't the original
author have it GAC'd in their distribution of that file? Could it possibly
not be intended for use from the GAC? Might that create a security issue?

What if the original installation needs to remove or upgrade that file, and
doesn't know about its entry in the GAC? It won't be upgraded, which could
then present a separate security risk caused by the now-false believe that
applying updates fixed all copies of the bad code.

Also, your setup should be regenerated every time any of its inputs change.
Otherwise a repair could very well undo your updates performed outside of
MSI.

-Original Message-
From: Sajo Jacob [mailto:spja...@gmail.com] 
Sent: Friday, June 18, 2010 9:11 AM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] GAC an assembly without embedding it within the MSI

I want to GAC an assembly already present on target machines, I know where
this assembly is on every machine (you can assume, that path is static for
all target machines and wont change) I do not want to include the assembly
to be GAC'd in the MSI since it can change with each software deployment and
we dont want our setup to be modified each time . I tried using the File
tag with Assembly =.net

File
Id=Assembly.dll
Name=Assembly.dll
Assembly=.net
Source=Assembly.dll
KeyPath=yes 
 /File


but using File embeds my assembly in the MSI. Any ideas on how to just tell
the MSI to just look for the assembly in a particular location and not
include it?

--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users