Re: [WiX-users] Env variables don't get deleted
Setting Permanent=yes on the Component or forgetting to give it a GUID would make the env var change permanent. Do either of these apply? Rob sandun css wrote: Hi, I set few env variables from my msi. But they don't get deleted when I uninstall them. This is my code, Environment Id='ENVVAR' Name='CONFIG' Action='set' Part='all' Value='[INSTALLDIR]etc\middleware.cfg' System='yes' Permanent='no'/ What can be the problem? Thanks, Sandun -- -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Customing WixUI
You need to copy WixUI_InstallDir.wxs into your project (I recommend to keep the fragment in a separate file for better modularization, but it's not a requirement). Change the Id attribute of the UI element to a random name and also change your UIRef accordingly. Then you are free to change everything in your copy to your liking. Quinton Tormanen wrote: In the WiX 3.0 help topic Customizing the WixUI Dialog Sets, what is meant by your custom set fragment in the last paragraph in that the Customizing dialog sets section: You do not need to rebuild WixUIExtension to customize the WixUI dialog sets in this manner. All you need to do is compile your dialog fragment and your custom set fragment with the rest of your setup project. As long as you continue using the WixUIExtension, your custom fragments will be able to find the built-in dialog fragments. I want to remove the LicenseAgreementDlg page, which only takes a few changes. Should I copy the meat of WixUI_InstallDir.wxs and paste it directly into my project's WXS file, modifying it there? Or should I copy/paste it into a separate new fragment file that get's included by light? I've confirmed that this works, and I assume that the above two options are just a matter of preference. Or, is there some other way of using the WixUI_InstallDir UI fragment and just applying diffs to it? For example, can I just do UIRef Id=WixUI_InstallDir and then apply some additional Publish lines to remove/replace/add to the existing ones? For what it's worth, the lines I intend to replace are: Publish Dialog=WelcomeDlg Control=Next Event=NewDialog Value=LicenseAgreementDlg1/Publish Publish Dialog=LicenseAgreementDlg Control=Back Event=NewDialog Value=WelcomeDlg1/Publish Publish Dialog=LicenseAgreementDlg Control=Next Event=NewDialog Value=InstallDirDlgLicenseAccepted = 1/Publish Publish Dialog=InstallDirDlg Control=Back Event=NewDialog Value=LicenseAgreementDlg1/Publish I would like to replace them with the following: Publish Dialog=WelcomeDlg Control=Next Event=SpawnWaitDialog Value=WaitForCostingDlgCostingComplete = 1/Publish Publish Dialog=WelcomeDlg Control=Next Event=NewDialog Value=InstallDirDlg1/Publish Publish Dialog=InstallDirDlg Control=Back Event=NewDialog Value=WelcomeDlg1/Publish Basically, I just unlink the LicenseAgreementDlg, and then I added back in the WaitForCostingDlg that was triggered on the Next in the license dialog box (not sure if that is necessary). So, what is the proper way to do custom dialog sets? Thanks. Quinton Tormanen Software Engineer Delta Computer Systems, Inc. http://www.deltamotion.com -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- View this message in context: http://n2.nabble.com/Customing-WixUI-tp3193103p3193913.html Sent from the wix-users mailing list archive at Nabble.com. -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to define batch copy in wix?
Is there batch copy function in Wix? Or there is only file adding one by one? Could some one answer my question? Thanks in advance! Chunyan -Ursprüngliche Nachricht- Von: Jiang, Chunyan (GE Healthcare) Gesendet: Freitag, 19. Juni 2009 17:08 An: General discussion for Windows Installer XML toolset. Betreff: [WiX-users] How to define batch copy in wix? Hi Wix-users, Is it possible to copy batch files from the source folder to target folder in wix installation? I only know to add file in DirectoryComponentFile, name, Id, source. For exmple, if I want to copy all .txt files from A folder to the target install. How can I define it in wix? Like *.txt? Regards, Chunyan -- Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Third-party installation
Try using this http://dotnetinstaller.codeplex.com/ As far as I know, WIX doesn't support multiple msi's -Original Message- From: MacDiarmid, James D [mailto:james.macdiar...@eds.com] Sent: 01 July 2009 16:21 To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] Third-party installation All, I have a couple third-party installers, such as the SOAP toolkit, I need to kick off during my installer. This file does not get installed with the rest of the application. How would I go about setting that up? Thanks, Jim -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users _ This e-mail was sent to you by EASYSCREEN LIMITED (EASYSCREEN). We are incorporated under the laws of England and Wales (company no. 05677531 and VAT registration no. 872810613). Our registered office is at 155 Bishopsgate, London EC2M 3TQ. This e-mail and/or any attached documents may contain privileged and confidential information and should only be read by those persons to whom this e-mail is addressed. Use by other than intended recipients is prohibited. If you are not the addressee, you must not copy, distribute, disclose or use any of the information in it. If you have received it in error, please delete it and immediately notify the sender. EASYSCREEN reserves the right to monitor all e-mail messages passing through its network. As we cannot guarantee the genuineness, accuracy or completeness of the information contained in this message, the statements set forth are not legally binding. -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to reference a system environment variable?
i´ve never used it, but there is a standard Property TempFolder you could use, instead of searching the registry. Directory Id=TARGETDIR Name=SourceDir Directory Id=TempFolder Component .. /Component /Directory /Directory Stefan -Ursprüngliche Nachricht- Von: Igor Paniushkin [mailto:ipaniush...@sdl.com] Gesendet: Mittwoch, 1. Juli 2009 17:01 An: General discussion for Windows Installer XML toolset. Betreff: Re: [WiX-users] How to reference a system environment variable? I already figured out, I need to specify Directory element and not DirectoryRef element, which I tried before. If somebody interested, there is code to do that: Property Id=SYSTEM_TEMP_FOLDER RegistrySearch Id=SystemTempFolder Key=SYSTEM\CurrentControlSet\Control\Session Manager\Environment Root=HKLM Type=directory Name=TEMP / /Property Directory Id=TARGETDIR Name=SourceDir Directory Id=SYSTEM_TEMP_FOLDER Component Id=SystemTempFolder KeyPath=yes Permanent=yes Guid=* CreateFolder PermissionEx User=NameOfUser GenericRead=yes GenericWrite=yes xmlns=http://schemas.microsoft.com/wix/UtilExtension; / /CreateFolder /Component /Directory ... Igor -Original Message- From: Igor Paniushkin [mailto:ipaniush...@sdl.com] Sent: Wednesday, July 01, 2009 16:39 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How to reference a system environment variable? Hi all, I have a question about setting permissions on SYSTEM temp environment directory: If I will read information from registry about location of SYSTEM TEMP, how can I use it to set permissions? Should I write custom actions to do that? Can I reuse PermissionEx element from Util extensions? Igor -Original Message- From: Rob Hamflett [mailto:r...@snsys.com] Sent: Thursday, February 05, 2009 03:01 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How to reference a system environment variable? As horrible as it may be, I've been reading system environment values out of SYSTEM\CurrentControlSet\Control\Session Manager\Environment for about 4 years now and there haven't been any support issues (both XP and Vista). I don't use this for setting values though. I use the normal Environment WiX element. Rob Yan Sklyarenko wrote: He-he, nope, this references the local TEMP as well, I've tried this. I've also browsed the forums for this info, and the best approach I've found so far is to search the system registry for the key HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment, and the value TEMP underneath. This works for me, but maybe others know about the drawbacks of this approach? I would really like to know if there's any. Thank you. -- Yan -Original Message- From: Wilson, Phil [mailto:phil.wil...@wonderware.com] Sent: Wednesday, February 04, 2009 10:29 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] How to reference a system environment variable? The MSI way to get this would be [%TEMP] (formatted type in Windows Installer) so you just need to get that in your WiX source somewhere. Phil Wilson -Original Message- From: Yan Sklyarenko [mailto:y...@sitecore.net] Sent: Wednesday, February 04, 2009 8:07 AM To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] How to reference a system environment variable? Hello WiX community, That's a really newbie question. I need to set permissions to the TEMP folder, the one stated in the system TEMP environment variable. I was trying this way: !-- Setting permissions to the environment Temp folder -- DirectoryRef Id=TempFolder Component DiskId=1 Id=TempComp Guid={YOURGUID-GOES-HERE-B106-B9D9705E01D7} Permanent=yes CreateFolder util:PermissionEx ... / /CreateFolder /Component /DirectoryRef But this way it references the user-specific TEMP variable, the one under Documents Settings. Could you please point me to the right direction? Thanks. -- Yan -- Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) software. With Adobe AIR, Ajax developers can use existing skills and code to build responsive, highly engaging applications that combine the power of local resources and data with the reach of the web. Download the Adobe AIR SDK and Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) software. With Adobe AIR, Ajax developers can use existing skills and code to build
Re: [WiX-users] How does the WiX team generate wix.chm from wix.xsd?
If it helps, there's Adobe Robohelp Brian -Original Message- From: zett42 [mailto:sa...@gmx.de] Sent: 01 July 2009 16:40 To: wix-users@lists.sourceforge.net Subject: [WiX-users] How does the WiX team generate wix.chm from wix.xsd? I assume you have some nifty tool to do this? I like the style of the CHM documentation very much, so I would like to create my own CHMs from XSDs in this way... Thanks -- View this message in context: http://n2.nabble.com/How-does-the-WiX-team-generate-wix.chm-from-wix.xsd --tp3189821p3189821.html Sent from the wix-users mailing list archive at Nabble.com. -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users _ This e-mail was sent to you by EASYSCREEN LIMITED (EASYSCREEN). We are incorporated under the laws of England and Wales (company no. 05677531 and VAT registration no. 872810613). Our registered office is at 155 Bishopsgate, London EC2M 3TQ. This e-mail and/or any attached documents may contain privileged and confidential information and should only be read by those persons to whom this e-mail is addressed. Use by other than intended recipients is prohibited. If you are not the addressee, you must not copy, distribute, disclose or use any of the information in it. If you have received it in error, please delete it and immediately notify the sender. EASYSCREEN reserves the right to monitor all e-mail messages passing through its network. As we cannot guarantee the genuineness, accuracy or completeness of the information contained in this message, the statements set forth are not legally binding. -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Delete registry value
RemoveRegistryValue Id=dummy1 Root=HKLM Key=SOFTWARE\DOT\blahblah Name=dummyvalue / Regards Brian -Original Message- From: Alex Ivanoff [mailto:alex.ivan...@shavlik.com] Sent: 29 June 2009 22:33 To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] Delete registry value Is there a way to delete registry value? -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users _ This e-mail was sent to you by EASYSCREEN LIMITED (EASYSCREEN). We are incorporated under the laws of England and Wales (company no. 05677531 and VAT registration no. 872810613). Our registered office is at 155 Bishopsgate, London EC2M 3TQ. This e-mail and/or any attached documents may contain privileged and confidential information and should only be read by those persons to whom this e-mail is addressed. Use by other than intended recipients is prohibited. If you are not the addressee, you must not copy, distribute, disclose or use any of the information in it. If you have received it in error, please delete it and immediately notify the sender. EASYSCREEN reserves the right to monitor all e-mail messages passing through its network. As we cannot guarantee the genuineness, accuracy or completeness of the information contained in this message, the statements set forth are not legally binding. -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Env variables don't get deleted
No Rob. Those don't apply. On Thu, Jul 2, 2009 at 11:56 AM, Rob Hamflett r...@snsys.com wrote: Setting Permanent=yes on the Component or forgetting to give it a GUID would make the env var change permanent. Do either of these apply? Rob sandun css wrote: Hi, I set few env variables from my msi. But they don't get deleted when I uninstall them. This is my code, Environment Id='ENVVAR' Name='CONFIG' Action='set' Part='all' Value='[INSTALLDIR]etc\middleware.cfg' System='yes' Permanent='no'/ What can be the problem? Thanks, Sandun -- -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to reference a system environment variable?
It was already mentioned in the beginning of this conversation, that TempFolder points to temp folder of current user, which performs installation, but I need system temp folder. -Original Message- From: Weber Stefan (IT) [mailto:s.we...@noerr.com] Sent: Thursday, July 02, 2009 12:51 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] How to reference a system environment variable? i´ve never used it, but there is a standard Property TempFolder you could use, instead of searching the registry. Directory Id=TARGETDIR Name=SourceDir Directory Id=TempFolder Component .. /Component /Directory /Directory Stefan -Ursprüngliche Nachricht- Von: Igor Paniushkin [mailto:ipaniush...@sdl.com] Gesendet: Mittwoch, 1. Juli 2009 17:01 An: General discussion for Windows Installer XML toolset. Betreff: Re: [WiX-users] How to reference a system environment variable? I already figured out, I need to specify Directory element and not DirectoryRef element, which I tried before. If somebody interested, there is code to do that: Property Id=SYSTEM_TEMP_FOLDER RegistrySearch Id=SystemTempFolder Key=SYSTEM\CurrentControlSet\Control\Session Manager\Environment Root=HKLM Type=directory Name=TEMP / /Property Directory Id=TARGETDIR Name=SourceDir Directory Id=SYSTEM_TEMP_FOLDER Component Id=SystemTempFolder KeyPath=yes Permanent=yes Guid=* CreateFolder PermissionEx User=NameOfUser GenericRead=yes GenericWrite=yes xmlns=http://schemas.microsoft.com/wix/UtilExtension; / /CreateFolder /Component /Directory ... Igor -Original Message- From: Igor Paniushkin [mailto:ipaniush...@sdl.com] Sent: Wednesday, July 01, 2009 16:39 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How to reference a system environment variable? Hi all, I have a question about setting permissions on SYSTEM temp environment directory: If I will read information from registry about location of SYSTEM TEMP, how can I use it to set permissions? Should I write custom actions to do that? Can I reuse PermissionEx element from Util extensions? Igor -Original Message- From: Rob Hamflett [mailto:r...@snsys.com] Sent: Thursday, February 05, 2009 03:01 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How to reference a system environment variable? As horrible as it may be, I've been reading system environment values out of SYSTEM\CurrentControlSet\Control\Session Manager\Environment for about 4 years now and there haven't been any support issues (both XP and Vista). I don't use this for setting values though. I use the normal Environment WiX element. Rob Yan Sklyarenko wrote: He-he, nope, this references the local TEMP as well, I've tried this. I've also browsed the forums for this info, and the best approach I've found so far is to search the system registry for the key HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment, and the value TEMP underneath. This works for me, but maybe others know about the drawbacks of this approach? I would really like to know if there's any. Thank you. -- Yan -Original Message- From: Wilson, Phil [mailto:phil.wil...@wonderware.com] Sent: Wednesday, February 04, 2009 10:29 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] How to reference a system environment variable? The MSI way to get this would be [%TEMP] (formatted type in Windows Installer) so you just need to get that in your WiX source somewhere. Phil Wilson -Original Message- From: Yan Sklyarenko [mailto:y...@sitecore.net] Sent: Wednesday, February 04, 2009 8:07 AM To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] How to reference a system environment variable? Hello WiX community, That's a really newbie question. I need to set permissions to the TEMP folder, the one stated in the system TEMP environment variable. I was trying this way: !-- Setting permissions to the environment Temp folder -- DirectoryRef Id=TempFolder Component DiskId=1 Id=TempComp Guid={YOURGUID-GOES-HERE-B106-B9D9705E01D7} Permanent=yes CreateFolder util:PermissionEx ... / /CreateFolder /Component /DirectoryRef But this way it references the user-specific TEMP variable, the one under Documents Settings. Could you please point me to the right direction? Thanks. -- Yan -- Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) software. With Adobe AIR, Ajax developers can use existing skills and code to build responsive, highly engaging applications that combine the power of local resources and data with the reach of the web. Download the Adobe AIR SDK and Ajax docs to start building applications
Re: [WiX-users] How to reference a system environment variable?
I dont know if this is applicable to your problem but if you just need a directory for your application to generate temporary files in or to do other work, you could create your own working directory under [CommonAppDataFolder]CompanyName\ApplicationName. You control the location and you can set whatever permissions you like on it without interfering with anyone else. The inherited permissions mean that a standard user cannot write to this directory by default so you might need to add permission for Everyone (or some other user group) to write there. You can use RemoveFiles\RemoveFolder elements to clean it up during uninstallation. -Original Message- From: Igor Paniushkin [mailto:ipaniush...@sdl.com] Sent: 02 July 2009 12:46 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] How to reference a system environment variable? It was already mentioned in the beginning of this conversation, that TempFolder points to temp folder of current user, which performs installation, but I need system temp folder. -Original Message- From: Weber Stefan (IT) [mailto:s.we...@noerr.com] Sent: Thursday, July 02, 2009 12:51 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] How to reference a system environment variable? i´ve never used it, but there is a standard Property TempFolder you could use, instead of searching the registry. Directory Id=TARGETDIR Name=SourceDir Directory Id=TempFolder Component .. /Component /Directory /Directory Stefan -Ursprüngliche Nachricht- Von: Igor Paniushkin [mailto:ipaniush...@sdl.com] Gesendet: Mittwoch, 1. Juli 2009 17:01 An: General discussion for Windows Installer XML toolset. Betreff: Re: [WiX-users] How to reference a system environment variable? I already figured out, I need to specify Directory element and not DirectoryRef element, which I tried before. If somebody interested, there is code to do that: Property Id=SYSTEM_TEMP_FOLDER RegistrySearch Id=SystemTempFolder Key=SYSTEM\CurrentControlSet\Control\Session Manager\Environment Root=HKLM Type=directory Name=TEMP / /Property Directory Id=TARGETDIR Name=SourceDir Directory Id=SYSTEM_TEMP_FOLDER Component Id=SystemTempFolder KeyPath=yes Permanent=yes Guid=* CreateFolder PermissionEx User=NameOfUser GenericRead=yes GenericWrite=yes xmlns=http://schemas.microsoft.com/wix/UtilExtension; / /CreateFolder /Component /Directory ... Igor -Original Message- From: Igor Paniushkin [mailto:ipaniush...@sdl.com] Sent: Wednesday, July 01, 2009 16:39 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How to reference a system environment variable? Hi all, I have a question about setting permissions on SYSTEM temp environment directory: If I will read information from registry about location of SYSTEM TEMP, how can I use it to set permissions? Should I write custom actions to do that? Can I reuse PermissionEx element from Util extensions? Igor -Original Message- From: Rob Hamflett [mailto:r...@snsys.com] Sent: Thursday, February 05, 2009 03:01 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How to reference a system environment variable? As horrible as it may be, I've been reading system environment values out of SYSTEM\CurrentControlSet\Control\Session Manager\Environment for about 4 years now and there haven't been any support issues (both XP and Vista). I don't use this for setting values though. I use the normal Environment WiX element. Rob Yan Sklyarenko wrote: He-he, nope, this references the local TEMP as well, I've tried this. I've also browsed the forums for this info, and the best approach I've found so far is to search the system registry for the key HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment, and the value TEMP underneath. This works for me, but maybe others know about the drawbacks of this approach? I would really like to know if there's any. Thank you. -- Yan -Original Message- From: Wilson, Phil [mailto:phil.wil...@wonderware.com] Sent: Wednesday, February 04, 2009 10:29 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] How to reference a system environment variable? The MSI way to get this would be [%TEMP] (formatted type in Windows Installer) so you just need to get that in your WiX source somewhere. Phil Wilson -Original Message- From: Yan Sklyarenko [mailto:y...@sitecore.net] Sent: Wednesday, February 04, 2009 8:07 AM To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] How to reference a system environment variable? Hello WiX community, That's a really newbie question. I need to set permissions to the TEMP folder, the one stated in the system TEMP environment variable. I was trying this way: !-- Setting permissions to the
Re: [WiX-users] Boolean paramaters
Hello, All values except 0 and (empty string) are interpreted as TRUE. So you may use the condition MYFLAG AND (Installed OR (POWERSHELL = 1.0)) and have the commandline msiexec /i installer.msi MYFLAG=anyvalue Best regards, Sebastian Brand Instyler Setup - Creating WiX-based MSI installations, elegantly. http://www.instyler.com -Original Message- From: sandun css [mailto:sandun...@gmail.com] Sent: Wednesday, July 01, 2009 6:21 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Boolean paramaters Hi, I have some conditions in my msi, like the following, Condition Message=Required prerequisite (PowerShell 1.0) is not found. ![CDATA[Installed OR (POWERSHELL = 1.0)]] /Condition But I need to run these conditions only if a certain parameter is set to 'true'. (i.e. msiexec /i installer.msi MYFLAG=true) Are there boolean parameters, or do I need to treat 'true' and 'false' valuse as strings? Thanks, Sandun -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to reference a system environment variable?
Okay, I'll bite. Why do you need the Windows temporary folder vice the user's? Sent via BlackBerry from T-Mobile -Original Message- From: Igor Paniushkin ipaniush...@sdl.com Date: Thu, 2 Jul 2009 13:45:55 To: General discussion for Windows Installer XML toolset.wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How to reference a system environment variable? It was already mentioned in the beginning of this conversation, that TempFolder points to temp folder of current user, which performs installation, but I need system temp folder. -Original Message- From: Weber Stefan (IT) [mailto:s.we...@noerr.com] Sent: Thursday, July 02, 2009 12:51 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] How to reference a system environment variable? i´ve never used it, but there is a standard Property TempFolder you could use, instead of searching the registry. Directory Id=TARGETDIR Name=SourceDir Directory Id=TempFolder Component .. /Component /Directory /Directory Stefan -Ursprüngliche Nachricht- Von: Igor Paniushkin [mailto:ipaniush...@sdl.com] Gesendet: Mittwoch, 1. Juli 2009 17:01 An: General discussion for Windows Installer XML toolset. Betreff: Re: [WiX-users] How to reference a system environment variable? I already figured out, I need to specify Directory element and not DirectoryRef element, which I tried before. If somebody interested, there is code to do that: Property Id=SYSTEM_TEMP_FOLDER RegistrySearch Id=SystemTempFolder Key=SYSTEM\CurrentControlSet\Control\Session Manager\Environment Root=HKLM Type=directory Name=TEMP / /Property Directory Id=TARGETDIR Name=SourceDir Directory Id=SYSTEM_TEMP_FOLDER Component Id=SystemTempFolder KeyPath=yes Permanent=yes Guid=* CreateFolder PermissionEx User=NameOfUser GenericRead=yes GenericWrite=yes xmlns=http://schemas.microsoft.com/wix/UtilExtension; / /CreateFolder /Component /Directory ... Igor -Original Message- From: Igor Paniushkin [mailto:ipaniush...@sdl.com] Sent: Wednesday, July 01, 2009 16:39 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How to reference a system environment variable? Hi all, I have a question about setting permissions on SYSTEM temp environment directory: If I will read information from registry about location of SYSTEM TEMP, how can I use it to set permissions? Should I write custom actions to do that? Can I reuse PermissionEx element from Util extensions? Igor -Original Message- From: Rob Hamflett [mailto:r...@snsys.com] Sent: Thursday, February 05, 2009 03:01 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How to reference a system environment variable? As horrible as it may be, I've been reading system environment values out of SYSTEM\CurrentControlSet\Control\Session Manager\Environment for about 4 years now and there haven't been any support issues (both XP and Vista). I don't use this for setting values though. I use the normal Environment WiX element. Rob Yan Sklyarenko wrote: He-he, nope, this references the local TEMP as well, I've tried this. I've also browsed the forums for this info, and the best approach I've found so far is to search the system registry for the key HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment, and the value TEMP underneath. This works for me, but maybe others know about the drawbacks of this approach? I would really like to know if there's any. Thank you. -- Yan -Original Message- From: Wilson, Phil [mailto:phil.wil...@wonderware.com] Sent: Wednesday, February 04, 2009 10:29 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] How to reference a system environment variable? The MSI way to get this would be [%TEMP] (formatted type in Windows Installer) so you just need to get that in your WiX source somewhere. Phil Wilson -Original Message- From: Yan Sklyarenko [mailto:y...@sitecore.net] Sent: Wednesday, February 04, 2009 8:07 AM To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] How to reference a system environment variable? Hello WiX community, That's a really newbie question. I need to set permissions to the TEMP folder, the one stated in the system TEMP environment variable. I was trying this way: !-- Setting permissions to the environment Temp folder -- DirectoryRef Id=TempFolder Component DiskId=1 Id=TempComp Guid={YOURGUID-GOES-HERE-B106-B9D9705E01D7} Permanent=yes CreateFolder util:PermissionEx ... / /CreateFolder /Component /DirectoryRef But this way it references the user-specific TEMP variable, the one under Documents Settings. Could you please point me to the right direction? Thanks. -- Yan -- Create
[WiX-users] Can I control the UI when uninstall
Hi Can I control the UI when uninstall in the xml? Thank you. -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Third-party installation
Calling of one install from another is called chaining. It's not that WiX doesnt support chainingNot being able to Chain installs is a limitation imposed by Windows Installer technology which WiX uses. So any MSI you build has this limitation whether it's built using WiX or otherwise. However, you can get around that limitation by using another program that runs each installer separately. That way one installer is not calling another. This type of program is called a bootstrapper. There appears to be a number of bootstrappers around depending on the environment you develop in. I believe Visual Studio may have one built in. WiX will be adding a bootstrapper to its tools in the future when WiX V3.5 becomes available if you can wait for that. Chris -Original Message- From: Yu, Brian [mailto:b...@easyscreen.com] Sent: Thursday, July 02, 2009 06:19 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Third-party installation Try using this http://dotnetinstaller.codeplex.com/ As far as I know, WIX doesn't support multiple msi's -Original Message- From: MacDiarmid, James D [mailto:james.macdiar...@eds.com] Sent: 01 July 2009 16:21 To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] Third-party installation All, I have a couple third-party installers, such as the SOAP toolkit, I need to kick off during my installer. This file does not get installed with the rest of the application. How would I go about setting that up? Thanks, Jim -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users _ This e-mail was sent to you by EASYSCREEN LIMITED (EASYSCREEN). We are incorporated under the laws of England and Wales (company no. 05677531 and VAT registration no. 872810613). Our registered office is at 155 Bishopsgate, London EC2M 3TQ. This e-mail and/or any attached documents may contain privileged and confidential information and should only be read by those persons to whom this e-mail is addressed. Use by other than intended recipients is prohibited. If you are not the addressee, you must not copy, distribute, disclose or use any of the information in it. If you have received it in error, please delete it and immediately notify the sender. EASYSCREEN reserves the right to monitor all e-mail messages passing through its network. As we cannot guarantee the genuineness, accuracy or completeness of the information contained in this message, the statements set forth are not legally binding. -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Multiple Instance Transforms Walkthrough, Proposed Simple Addition to WiX to Make Them Easier
I am trying to create an MSI which will install a windows service multiple times on the same machine with a clientname appended to the end of each service instance (ServiceNameClientA). I take the servicename as input from the user and create the service with that name(e.g clientname). It will be created in its own directory named exactly the same. So if the clientname is ClientA then the Directory its installed to is also the same name. I use a custom action to change the InstallLocation to [InstallLocation]\[ClientName] Is it possible to do this via the Multiple Instace example in your post? I see you have to define the each instance in the file. In my requirement there could be any number of instances. I need to be able to install any number of times and uninstall them either by taking the clientname as input to uninstall or other method. Could you advise on this please? Josh Rowe wrote: Okay, I've figured out a lot about multiple instance transforms and the sorts of contortions you have to go through to make them work. I even figured out how to make a single MSI drive multiple instance transforms without the need for a bootstrapping program, relying on the fact that the InstallUISequence executes indepently from the InstallExecuteSequence. But one thing remains in WiX to make this a lot easier: automatic GUID-changing of components. In this message, I discuss how to create a multiple instance transform, how to make a single MSI drive multiple instance transforms, a common pitfall, and a feature request for WiX. I want a user, when they double-click an MSI file, to by default install a new instance. First, obviously, we will need to define some instance transforms: Property Id=MYINSTANCE Value=DontUseThis Secure=yes / InstanceTransforms Property=MYINSTANCE Instance ProductCode=444e8aa6-c034-4294-b460-07c2d3262f72 ProductName=Instance 1 Id=Instance1/ Instance ProductCode=ff0a0580-bc5d-4562-83ec-2edb3511254b ProductName=Instance 2 Id=Instance2/ /InstanceTransforms So far, so good. What if the new instance ProductName should be driven by user selection items? No problem: CustomAction Id=SetProductName Property=ProductName Value=[[ProductNamePropertyPrefix][MYINSTANCE]] / Property Id=ProductNamePropertyPrefix Value=ProductName_ / Property Id=ProductName_DefaultInstance Value=Multiple Instance Transforms - Default instance / Property Id=ProductName_Instance1 Value=Multiple Instance Transforms - Instance #1 / Property Id=ProductName_Instance2 Value=Multiple Instance Transforms - Instance #2 InstallExecuteSequence Custom Action=SetProductName Before=ValidateProductID/ /InstallExecuteSequence Obviously, use whatever algorithm you want in the SetProductName custom action. You will probably want a different install location, too: Directory Id=INSTALLLOCATION Name=TestMultipleInstanceTransformUi Directory Id=InstanceDirectory /Directory /Directory CustomAction Id=SetInstanceDirectory Property=InstanceDirectory Value=[INSTALLLOCATION][MYINSTANCE]\/ InstallExecuteSequence Custom Action=SetInstanceDirectory Before=CostFinalize![CDATA[InstanceDirectory = ]]/Custom /InstallExecuteSequence Okay, looking good. Now, the user can specify MSINEWINSTANCE=1 TRANSFORMS=Instance1 on the msiexec command line to install a new instance, right? But that seems a little in-depth for users to have to worry about. For example, how do they know which instance names are available? How can they reliably choose the next available instance id? We can obviously do better. It turns out that the MSI system works in two phases when a UI is presented. First, the InstallUISequence is executed in the user's space. Second, the InstallExecuteSequence is executed in a system process. The two sequences act completely independently; the InstallUISequence's ExecuteAction just passes a set of property names to the system msiexec service. So, we can make our parent process pass in the right transform as follows: CustomAction Id=SetTransforms Property=TRANSFORMS Value={:[MYINSTANCE];}[TRANSFORMS] / CustomAction Id=SetMsiNewInstance Property=MSINEWINSTANCE Value=1/ InstallUISequence Custom Action=SetTransforms Before=ExecuteAction![CDATA[ACTION = INSTALL]]/Custom Custom Action=SetMsiNewInstance Before=ExecuteAction![CDATA[ACTION =
Re: [WiX-users] Env variables don't get deleted
My understanding of original problem is that environment variables are created on install, but not deleted on uninstall. Action=remove must be used when environment variable needs to be deleted *on install*. As Rob already mentioned, there is nothing wrong with Environment tag itself. Problem is somewhere outside. If component is not made permanent, another thing to look for is any condition on component or RemoveEnvironmentStrings in InstallExecuteSequence. Without seeing more of original wxs we are just guessing here. Alex -Original Message- From: David Bartmess [mailto:david.bartm...@wallst.com] Sent: Thursday, July 02, 2009 8:00 AM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Env variables don't get deleted For what it's worth, here's the text from the schema description. Pay attention to the description of the remove action Specfies whether the environmental variable should be created, set or removed when the parent component is installed. This attribute's value must be one of the following: create Creates the environment variable if it does not exist, then set it during installation. This has no effect on the value of the environment variable if it already exists. set Creates the environment variable if it does not exist, and then set it during installation. If the environment variable exists, set it during the installation. remove Removes the environment variable during an installation. The installer only removes an environment variable during an installation if the name and value of the variable match the entries in the Name and Value fields of the Environment table. If you want to remove an environment variable, regardless of its value, use the '!' syntax, and leave the Value field empty. -Original Message- From: sandun css [mailto:sandun...@gmail.com] Sent: Thursday, July 02, 2009 5:27 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Env variables don't get deleted No Rob. Those don't apply. On Thu, Jul 2, 2009 at 11:56 AM, Rob Hamflett r...@snsys.com wrote: Setting Permanent=yes on the Component or forgetting to give it a GUID would make the env var change permanent. Do either of these apply? Rob sandun css wrote: Hi, I set few env variables from my msi. But they don't get deleted when I uninstall them. This is my code, Environment Id='ENVVAR' Name='CONFIG' Action='set' Part='all' Value='[INSTALLDIR]etc\middleware.cfg' System='yes' Permanent='no'/ What can be the problem? Thanks, Sandun -- -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] How to embed a transform and use during install?
I've got a transform that brands the client's installer and output to the correct images and names, and I've seen in other blogs that I can use the TRANSFORMS=:TransformName on the command line to use an embedded transform file, but I can't seem to get it to work. How do I need to do the embedding? I've tried Binary and File, but neither seems to work, as the installation using the syntax above fails on a failed to find transform file type of error message. Thanks for any help! David Bartmess Wall Street On Demand david.bartm...@wallst.commailto:david.bartm...@wallst.com direct: 303.417. x585 cell: 303.883-9117 fax: 303.444.2586 -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to embed a transform and use during install?
Hi David, You can use WISubStg.vbs: WISubStg.vbs full path to msi full path to mst TransformName Command line for msiexec: Msiexec /I full path to msi TRANSFORMS=:TransformName At the very end of http://blogs.technet.com/alexshev/archive/2008/02/15/from-msi-to-wix-part-7- customizing-installation-using-transforms.aspx there is small script to embed mst programmatically using script also. Alex -Original Message- From: David Bartmess [mailto:david.bartm...@wallst.com] Sent: Thursday, July 02, 2009 8:36 AM To: 'General discussion for Windows Installer XML toolset.' Subject: [WiX-users] How to embed a transform and use during install? I've got a transform that brands the client's installer and output to the correct images and names, and I've seen in other blogs that I can use the TRANSFORMS=:TransformName on the command line to use an embedded transform file, but I can't seem to get it to work. How do I need to do the embedding? I've tried Binary and File, but neither seems to work, as the installation using the syntax above fails on a failed to find transform file type of error message. Thanks for any help! David Bartmess Wall Street On Demand david.bartm...@wallst.commailto:david.bartm...@wallst.com direct: 303.417. x585 cell: 303.883-9117 fax: 303.444.2586 -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Patching a file with the same name and source
Hi, I am trying to patch a file that has the name and source (but different content). So, I recompile the product .wxs file (which didn't change since only the file contents changed and the source and name didn't change) then I run torch then pyro. However, when I run pyro I get a warning that the RTM.cab doesn't have any files in it. Apparently, torch didn't detect any changes. And when I install the patch it doesn't change the previous file content. How can I tell torch that the file has changed? Thanks, Abdulla -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Missing Elevation Shield on Remove?
I am using WiX 3.0.5217.0 with WixUI_InstallDir. If I put the installer in maintenance mode and click the Remove option, then on the verify page (Ready to remove RMCTools 3.33.0d), the Remove button is missing the elevation shield. It shows up on a new Install (when the button is labeled Install). I have the following entry under the Product element: Property Id=ALLUSERS Value=1 / The source (VerifyREadyDlg.wxs) appears to be based on ALLUSERS. What am I missing? Quinton Tormanen Software Engineer Delta Computer Systems, Inc. http://www.deltamotion.com http://www.deltamotion.com/ -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Simpler Cancellation
I've long been annoyed by the extra step when cancelling an install. When the user clicks the Cancel button, they are shown a popup confirming that they want to cancel, which is fine, but then they get one more screen saying that the installation was cancelled. I've seen installers that don't show this final cancellation screen. Two questions: (1) How can I get the installer to exit immediately after the user answers Yes to the confirmation. (2) Is there a good reason why I should keep the final cancellation screen? Quinton Tormanen Software Engineer Delta Computer Systems, Inc. http://www.deltamotion.com -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Custom action behavior on Install vs Uninstall
(Reposting from early this morning... pardon if a double-post makes it through.) Can a Type 18 custom action have a dynamically designated command line property such that the target executable of the custom action is aware that it is being executed during installation or uninstallation? If so, what internal variable can be used to determine the current condition of the MSI? There is more than a lot of good information in this area, but for some reason it isn't clear to me how to properly differentiate if we are at install or uninstall. Thanks! -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Option checkbox in ExitDialog isn't transparent
I have a white background for my dlgbmp.bmp resource, like the one that WiX provides by default. I tried using WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT to allow the user to control whether our application is run at the end of the install. However, the entire checkbox control has a gray background. I see that there isn't a @Transparent=yes for this control like the others, but then I'm also aware that checkboxes are notorious for not being very easily made transparent in Win32. So, is this a known issue with no good workaround? Or is there a fix that can be made to ExitDialog so that it is transparent? I'm using WiX 3.0.5217.0 on x64 Vista. Quinton Tormanen Software Engineer Delta Computer Systems, Inc. http://www.deltamotion.com -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Custom action behavior on Install vs Uninstall
Can a Type 18 custom action have a dynamically designated command line property such that the target executable of the custom action is aware that it is being executed during installation or uninstallation? If so, what internal variable can be used to determine the current condition of the MSI? Hi Alan, Instead of changing target, schedule two custom actions: one conditioned on running during fresh install (and maintenance install if needed) and another one conditioned on uninstall. See http://msdn.microsoft.com/en-us/library/aa368013(VS.85).aspx for details. Alex -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Option checkbox in ExitDialog isn't transparent
Sorry, I had searched for WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT in the bug database, but after posting I searched for transparent and found the issue right away (1669640). It's noted that there is no fix, which I understand. I promise that I tried to check that it wasn't already posted, but just not well enough! --Quinton -Original Message- From: Quinton Tormanen Sent: Thursday, July 02, 2009 11:06 AM To: 'General discussion for Windows Installer XML toolset.' Subject: Option checkbox in ExitDialog isn't transparent I have a white background for my dlgbmp.bmp resource, like the one that WiX provides by default. I tried using WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT to allow the user to control whether our application is run at the end of the install. However, the entire checkbox control has a gray background. I see that there isn't a @Transparent=yes for this control like the others, but then I'm also aware that checkboxes are notorious for not being very easily made transparent in Win32. So, is this a known issue with no good workaround? Or is there a fix that can be made to ExitDialog so that it is transparent? I'm using WiX 3.0.5217.0 on x64 Vista. Quinton Tormanen Software Engineer Delta Computer Systems, Inc. http://www.deltamotion.com -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Boolean paramaters
In article 01c9fa0f$da2a52b0$8e7ef8...@com, Sebastian Brand \(Instyler Software\) wix+us...@instyler.com writes: All values except 0 and (empty string) are interpreted as TRUE. Good point. I forgot about 0. But I generally use empty string for false. So you may use the condition MYFLAG AND (Installed OR (POWERSHELL = 1.0)) Note that POWERSHELL = 1.0 doesn't really do version comparisons, its a string compare. This can fail in weird ways if you're not careful. -- The Direct3D Graphics Pipeline -- DirectX 9 draft available for download http://www.xmission.com/~legalize/book/download/index.html Legalize Adulthood! http://legalizeadulthood.wordpress.com -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Uncompressed package and error finding files
I've been experimenting with creating msp files for all updates, and I've run into a strange problem. I read about having to create uncompressed cabs for a patch, so I created two different installers that upgrade a single text file, and actually managed to create the msp file, but then I noticed something strange with the original installer. When I run this setup now, it complains that it's unable to find readme.txt in the path that I run the installer from. If I change the Compressed attribute on the Package node to yes the installer works. Is there something else that I need to do to get the installer to work in the first place? Here's the markup for the original installer (it's pretty basic): ?xml version=1.0 encoding=UTF-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Product Id=611D452A-D8D3-482e-AC5B-BFA9A9B1BF6D Name=Patch Test Product Language=1033 Version=1.0.0.0 Manufacturer=ComputerTalk UpgradeCode=edb51369-d386-46c8-96ee-8244a40d18d3 Package InstallerVersion=300 Description=Patch Test Manufacturer=ComputerTalk Comments=Some product Compressed=no / Media Id=1 Cabinet=PatchTest.cab EmbedCab=yes / Directory Id=TARGETDIR Name=SourceDir Directory Id=ProgramFilesFolder Directory Id=INSTALLLOCATION Name=PatchTest Component Id=ProductComponent Guid=b3bf3e0b-d116-49cd-8d24-b7c76a7c3b28 File Id=readme Name=readme.txt Source=..\$bin\readme.txt/ /Component /Directory /Directory /Directory Feature Id=ProductFeature Title=PatchTest Level=1 ComponentRef Id=ProductComponent / /Feature /Product /Wix The install log from my test machine looks like this when I run the msi from c:\insttemp: Error 1309. Error reading from file: C:\insttemp\PatchTest\readme.txt. System error 3. Verify that the file exists and that you can access it. This is building with Votive under VS 2008, and using version 3.5.0619.0 of the toolkit. Any idea what's going on? The \PatchTest directory doesn't exist under c:\insttemp, but the files should be embedded in the msi, correct? Thanks for the help, Chris -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Patching a product without elevation
My goal for getting patching to work is to be able to deploy an application that can be patched by a non-admin user, but I'm running into a problem. I've created the patching sample in the documentation, and the patch works when it's elevated, but whether or not it's signed, the patch is still prompting for elevation. I'm signing both the patch and the original MSI with this command lines: signtool.exe sign /f signcert.pfx /p 288 /d Patch Test application! product.msi signtool.exe sign /f signcert.pfx /p 288 /d Patch Test application! patch.msp I've also modified the product msi from the example so that it includes this markup: PatchCertificates DigitalCertificate SourceFile=signcert.cer Id=signcert/ /PatchCertificates If I look at the properties of the files, both of them have a digital signature from the same certificate, and both are identified as valid. When I run the patch as a non-administrator though, I get an elevation prompt asking to install from an unknown publisher-the original installer correctly identified my certificate. Is there something else I'm missing? I saw the article in MSDN here (http://msdn.microsoft.com/en-us/library/aa372388%28VS.85%29.aspx), which pointed me to the MsiPatchCcertificate table and the PatchCertificates element. I've tried adding the cert both as the pfx file and as a base-64 encoded cer with the same effect. Is there something else that I'm missing here? Why is the patch still reporting itself as an unknown publisher? Thanks for the help everyone, Chris -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] renaming a file with install time argument
I need to install and invoke an executable file. I also need to specify the file name at installation time (some of the arguments are taken from the file name).That is, at compile time I can include 'myfile.exe'. But at install time, I need to rename this file to SomeArgument.exe where SomeArgument arrived via msiexec param. What is the best way to do this? Thanks, Eric Napier -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Patching a product without elevation
Chris, Those elements appear to simply identify what certificate should be given the green light for patching. I believe you still need to digitally sign the resulting MSI using signtool.exe. - Rafael Chris Bardon wrote: My goal for getting patching to work is to be able to deploy an application that can be patched by a non-admin user, but I'm running into a problem. I've created the patching sample in the documentation, and the patch works when it's elevated, but whether or not it's signed, the patch is still prompting for elevation. I'm signing both the patch and the original MSI with this command lines: signtool.exe sign /f signcert.pfx /p 288 /d Patch Test application! product.msi signtool.exe sign /f signcert.pfx /p 288 /d Patch Test application! patch.msp I've also modified the product msi from the example so that it includes this markup: PatchCertificates DigitalCertificate SourceFile=signcert.cer Id=signcert/ /PatchCertificates If I look at the properties of the files, both of them have a digital signature from the same certificate, and both are identified as valid. When I run the patch as a non-administrator though, I get an elevation prompt asking to install from an unknown publisher-the original installer correctly identified my certificate. Is there something else I'm missing? I saw the article in MSDN here (http://msdn.microsoft.com/en-us/library/aa372388%28VS.85%29.aspx), which pointed me to the MsiPatchCcertificate table and the PatchCertificates element. I've tried adding the cert both as the pfx file and as a base-64 encoded cer with the same effect. Is there something else that I'm missing here? Why is the patch still reporting itself as an unknown publisher? Thanks for the help everyone, Chris -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Patching a product without elevation
I did run signtool against the packages, with the command lines in the first part of the post. I also forgot to point out a couple of other changes to the demo code. I changed the installer version to 300, and I set ALLUSERS to 1 to make sure that I installed per-machine to start with. Something strange that I noticed in the patch log: MSI (c) (24:FC) [15:23:03:443]: Product {48C49ACE-90CF-4161-9C6E-9162115A54DD} is admin assigned: LocalSystem owns the publish key. MSI (c) (24:FC) [15:23:03:443]: Product {48C49ACE-90CF-4161-9C6E-9162115A54DD} is managed. MSI (c) (24:FC) [15:23:03:443]: Running product '{48C49ACE-90CF-4161-9C6E-9162115A54DD}' with elevated privileges: Product is assigned. The original setup was run elevated, but there should be no reason that it requires elevation to run. I'll keep digging to see what I can come up with, but has anyone else run into something similar? Just for reference, here's the full log from the patch attempt (I cancelled out of the elevation dialog). It's still showing up as Unidentified publisher. I'm testing this on Vista Sp2 BTW: === Verbose logging started: 7/2/2009 15:23:02 Build type: SHIP UNICODE 4.05.6002.00 Calling process: C:\Windows\system32\msiexec.exe === MSI (c) (24:FC) [15:23:02:929]: Resetting cached policy values MSI (c) (24:FC) [15:23:02:929]: Machine policy value 'Debug' is 0 MSI (c) (24:FC) [15:23:02:929]: *** RunEngine: *** Product: {48C49ACE-90CF-4161-9C6E-9162115A54DD} *** Action: *** CommandLine: ** MSI (c) (24:FC) [15:23:02:936]: Machine policy value 'DisableUserInstalls' is 0 MSI (c) (24:FC) [15:23:02:985]: Cloaking enabled. MSI (c) (24:FC) [15:23:02:985]: Attempting to enable all disabled privileges before calling Install on Server MSI (c) (24:FC) [15:23:03:031]: End dialog not enabled MSI (c) (24:FC) [15:23:03:032]: Original package == C:\Windows\Installer\13184ff.msi MSI (c) (24:FC) [15:23:03:032]: Package we're running from == C:\Windows\Installer\13184ff.msi MSI (c) (24:FC) [15:23:03:035]: APPCOMPAT: looking for appcompat database entry with ProductCode '{48C49ACE-90CF-4161-9C6E-9162115A54DD}'. MSI (c) (24:FC) [15:23:03:035]: APPCOMPAT: no matching ProductCode found in database. MSI (c) (24:FC) [15:23:03:055]: MSCOREE not loaded loading copy from system32 MSI (c) (24:FC) [15:23:03:070]: Note: 1: 1402 2: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 3: 2 MSI (c) (24:FC) [15:23:03:102]: Original patch == C:\insttemp\patch.msp MSI (c) (24:FC) [15:23:03:102]: Patch we're running from == C:\Users\STANDA~1\AppData\Local\Temp\13f7987.msp MSI (c) (24:FC) [15:23:03:104]: SOFTWARE RESTRICTION POLICY: Verifying patch -- 'C:\insttemp\patch.msp' against software restriction policy MSI (c) (24:FC) [15:23:03:104]: SOFTWARE RESTRICTION POLICY: C:\insttemp\patch.msp has a digital signature MSI (c) (24:FC) [15:23:03:389]: SOFTWARE RESTRICTION POLICY: C:\insttemp\patch.msp is permitted to run at the 'unrestricted' authorization level. MSI (c) (24:FC) [15:23:03:390]: SequencePatches starts. Product code: {48C49ACE-90CF-4161-9C6E-9162115A54DD}, Product version: 1.0.0, Upgrade code: {48C49ACE-90CF-4161-9C6E-9162115A54DD}, Product language 1033 MSI (c) (24:FC) [15:23:03:391]: Optimizations are not possible in the patch sequencer because there are no applied patches. MSI (c) (24:FC) [15:23:03:391]: PATCH SEQUENCER: verifying the applicability of QFE patch C:\insttemp\patch.msp against product code: {48C49ACE-90CF-4161-9C6E-9162115A54DD}, product version: 1.0.0, product language 1033 and upgrade code: {48C49ACE-90CF-4161-9C6E-9162115A54DD} MSI (c) (24:FC) [15:23:03:391]: Validating transform 'RTM.1' with validation bits 0x922 MSI (c) (24:FC) [15:23:03:391]: Transform 'RTM.1' is valid. MSI (c) (24:FC) [15:23:03:391]: PATCH SEQUENCER: QFE patch C:\insttemp\patch.msp is applicable. MSI (c) (24:FC) [15:23:03:391]: The original #_QFESequence table: MSI (c) (24:FC) [15:23:03:391]: PatchGUID: {B8D5A6D2-7CDE-472E-BE10-F72408468970} ResultantVersion: 1.0.0 PatchFamily: SamplePatchFamily Sequence: 1.0.0.0 Type: QFE MSI (c) (24:FC) [15:23:03:391]: The pre-sorted #_QFESequence table: - this is useful to see if patches had been ordered correctly within resultant versions and patch families MSI (c) (24:FC) [15:23:03:391]: PatchGUID: {B8D5A6D2-7CDE-472E-BE10-F72408468970} ResultantVersion: 1.0.0 PatchFamily: SamplePatchFamily Sequence: 1.0.0.0 VersionOrder: 0 SequenceOrder: 0Type: QFE MSI (c) (24:FC) [15:23:03:394]: PATCH SEQUENCER: The initial #_Predecessor table: MSI (c) (24:FC) [15:23:03:394]: PatchFamily: SamplePatchFamily, PatchGUID: {B8D5A6D2-7CDE-472E-BE10-F72408468970}, Predecessor GUID: NULL MSI (c) (24:FC) [15:23:03:394]: PATCH SEQUENCER: Step 1 MSI (c) (24:FC) [15:23:03:394]: PATCH SEQUENCER: patch {B8D5A6D2-7CDE-472E-BE10-F72408468970} (PatchFamily SamplePatchFamily) will be
Re: [WiX-users] Patching a product without elevation
MSI (c) (24:FC) [15:23:03:419]: Certificate of signed file 'C:\Users\STANDA~1\AppData\Local\Temp\13f7987.msp' differs in size with the certificate authored in the package How did you generate your .cer? - Rafael Chris Bardon wrote: I did run signtool against the packages, with the command lines in the first part of the post. I also forgot to point out a couple of other changes to the demo code. I changed the installer version to 300, and I set ALLUSERS to 1 to make sure that I installed per-machine to start with. Something strange that I noticed in the patch log: [snipped] -Original Message- From: Rafael Rivera [mailto:raf...@withinwindows.com] Sent: Thursday, July 02, 2009 3:17 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Patching a product without elevation Chris, Those elements appear to simply identify what certificate should be given the green light for patching. I believe you still need to digitally sign the resulting MSI using signtool.exe. - Rafael Chris Bardon wrote: My goal for getting patching to work is to be able to deploy an application that can be patched by a non-admin user, but I'm running into a problem. I've created the patching sample in the documentation, and the patch works when it's elevated, but whether or not it's signed, the patch is still prompting for elevation. I'm signing both the patch and the original MSI with this command lines: signtool.exe sign /f signcert.pfx /p 288 /d Patch Test application! product.msi signtool.exe sign /f signcert.pfx /p 288 /d Patch Test application! patch.msp I've also modified the product msi from the example so that it includes this markup: PatchCertificates DigitalCertificate SourceFile=signcert.cer Id=signcert/ /PatchCertificates If I look at the properties of the files, both of them have a digital signature from the same certificate, and both are identified as valid. When I run the patch as a non-administrator though, I get an elevation prompt asking to install from an unknown publisher-the original installer correctly identified my certificate. Is there something else I'm missing? I saw the article in MSDN here (http://msdn.microsoft.com/en-us/library/aa372388%28VS.85%29.aspx), which pointed me to the MsiPatchCcertificate table and the PatchCertificates element. I've tried adding the cert both as the pfx file and as a base-64 encoded cer with the same effect. Is there something else that I'm missing here? Why is the patch still reporting itself as an unknown publisher? Thanks for the help everyone, Chris -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Option checkbox in ExitDialog isn't transparent
There is a workaround for this. Create a custom exit dialog and make the checkbox only the size of the tick, then put a label next to it. It works but means that the user needs to click the check area only, the label part doesn't work. Neil -Original Message- From: Quinton Tormanen [mailto:quint...@deltacompsys.com] Sent: 02 July 2009 19:10 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Option checkbox in ExitDialog isn't transparent Sorry, I had searched for WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT in the bug database, but after posting I searched for transparent and found the issue right away (1669640). It's noted that there is no fix, which I understand. I promise that I tried to check that it wasn't already posted, but just not well enough! --Quinton -Original Message- From: Quinton Tormanen Sent: Thursday, July 02, 2009 11:06 AM To: 'General discussion for Windows Installer XML toolset.' Subject: Option checkbox in ExitDialog isn't transparent I have a white background for my dlgbmp.bmp resource, like the one that WiX provides by default. I tried using WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT to allow the user to control whether our application is run at the end of the install. However, the entire checkbox control has a gray background. I see that there isn't a @Transparent=yes for this control like the others, but then I'm also aware that checkboxes are notorious for not being very easily made transparent in Win32. So, is this a known issue with no good workaround? Or is there a fix that can be made to ExitDialog so that it is transparent? I'm using WiX 3.0.5217.0 on x64 Vista. Quinton Tormanen Software Engineer Delta Computer Systems, Inc. http://www.deltamotion.com -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Patching a product without elevation
I used a CA on windows server 03 to create a code signing certificate (through the web enrollment tool), installed the cert to my dev machine's store, then exported from the store twice. Once to generate the PFX I used for signing, and then once for the .cer file I included in the msi. From: Rafael Rivera [raf...@withinwindows.com] Sent: Thursday, July 02, 2009 4:03 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Patching a product without elevation MSI (c) (24:FC) [15:23:03:419]: Certificate of signed file 'C:\Users\STANDA~1\AppData\Local\Temp\13f7987.msp' differs in size with the certificate authored in the package How did you generate your .cer? - Rafael Chris Bardon wrote: I did run signtool against the packages, with the command lines in the first part of the post. I also forgot to point out a couple of other changes to the demo code. I changed the installer version to 300, and I set ALLUSERS to 1 to make sure that I installed per-machine to start with. Something strange that I noticed in the patch log: [snipped] -Original Message- From: Rafael Rivera [mailto:raf...@withinwindows.com] Sent: Thursday, July 02, 2009 3:17 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Patching a product without elevation Chris, Those elements appear to simply identify what certificate should be given the green light for patching. I believe you still need to digitally sign the resulting MSI using signtool.exe. - Rafael Chris Bardon wrote: My goal for getting patching to work is to be able to deploy an application that can be patched by a non-admin user, but I'm running into a problem. I've created the patching sample in the documentation, and the patch works when it's elevated, but whether or not it's signed, the patch is still prompting for elevation. I'm signing both the patch and the original MSI with this command lines: signtool.exe sign /f signcert.pfx /p 288 /d Patch Test application! product.msi signtool.exe sign /f signcert.pfx /p 288 /d Patch Test application! patch.msp I've also modified the product msi from the example so that it includes this markup: PatchCertificates DigitalCertificate SourceFile=signcert.cer Id=signcert/ /PatchCertificates If I look at the properties of the files, both of them have a digital signature from the same certificate, and both are identified as valid. When I run the patch as a non-administrator though, I get an elevation prompt asking to install from an unknown publisher-the original installer correctly identified my certificate. Is there something else I'm missing? I saw the article in MSDN here (http://msdn.microsoft.com/en-us/library/aa372388%28VS.85%29.aspx), which pointed me to the MsiPatchCcertificate table and the PatchCertificates element. I've tried adding the cert both as the pfx file and as a base-64 encoded cer with the same effect. Is there something else that I'm missing here? Why is the patch still reporting itself as an unknown publisher? Thanks for the help everyone, Chris -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users