Re: [WiX-users] Error when trying to conditionally run something (2753)
Thanks for the response. This would make sense. I only want to run this customAction if I am installing the client side of things. When I select the server side to be installed the executable is not selected for install (it is a feature of the client). So I guess I need to add extra control to the definition of the CustomAction/InstallExecuateSequence over and above on install, but the question now becomes how do I add this extra control. I presume there may be a way of saying Only do on install and if server feature selected. Do you know what this syntax is? Wilson, Phil wrote: Not marked for installation means that the custom action can't run because the target file isn't going to be installed. That could be a consequence of your feature/component arrangement, although sometimes you get it if there is an existing file of an equal or higher version so the one in your package isn't going to be installed. If you run the file from the Binary table the error should go away, or put it in a hidden feature that's always installed. Phil Wilson -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of dave_c Sent: Friday, February 09, 2007 7:31 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Error when trying to conditionally run something (2753) Basically the user would select to install the Client software from the Feature Selection screen Once all the client software has been installed it would then perform a post install action to install the seperate installer (svgview.exe which is an installer in itself) If adding the svgview.exe as a feature can I prevent this from being displayed on the Feature Selection screen also how would this be executed. For the time being I have added the code to my Client Fragment of code ?xml version='1.0' encoding='windows-1252'? Wix xmlns='http://schemas.microsoft.com/wix/2003/01/wi' Fragment Id='ClientFeatures' !-- Called by Business Dashboard.wxs. This file describes the list of possible installable components followed by the actual components we are going to install -- Feature Id='CLIENT' Title='Client Configuration' Description='Features to be installed on the Client PC' Display='collapse' Absent='allow' Level='1' InstallDefault='local' FeatureRef Id='ClientDocs'/ FeatureRef Id='ClientExes'/ FeatureRef Id='ClientLinks'/ !-- Note, no condiition here because we want the ability to install the client on either a client machine or on the server itself-- /Feature Feature Id ='ClientDocs' Level='1' Title='Documents relating to the Agilent Business Dashboard' AllowAdvertise='no' Description='End User documentation' Absent='allow' InstallDefault='local' ComponentGroupRef Id='ClientDocuments' / /Feature Feature Id ='ClientExes' Level='1' Title='Executables that need to be installed on the client machine' AllowAdvertise='no' Description='At the present time only installs svgviewer to view traffic lights in Business Objects.' Absent='allow' InstallDefault='local' ComponentGroupRef Id='ClientExecutables' / /Feature Feature Id ='ClientLinks' Level='1' Title='Links applications' AllowAdvertise='no' Description='At the present time only creates a link to launching the Business Dashboard' Absent='allow' InstallDefault='local' ComponentGroupRef Id='ClientLinks' / /Feature CustomAction Id='LaunchFile' FileKey='svg' ExeCommand='' Return='asyncNoWait' / InstallExecuteSequence Custom Action='LaunchFile' After='InstallFinalize'NOT Installed/Custom /InstallExecuteSequence /Fragment /Wix Interestingly, when I run the installer in debug I get the following error message DEBUG: Error 2753: The File 'svg' is not marked for installation. The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2753. The arguments are: svg, , MSI (s) (BC:7C) [15:25:21:649]: Product: Agilent Business Dashboard -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2753. The arguments are: svg, , This hopefulyl provides more insight to the problem and hopefully someone can provide an answer. david adams-2 wrote: Is this function that can be accomplished using the Feature elements? Do you want your Install User to select particular features or do you envision something like a custom dialog that allows them to select Client or Server? Pending their selection on the custom dialog, the correct set of features
Re: [WiX-users] Bootstrapper
Hi again... Matthew Rowan wrote: Thanks for the quick reply Stefan. What I have found is that when I build a new installer for the next minor version it does not launch in Maintenance mode because the package code is different, but the product code is the same and I get the error message Another version of this product is already installed. Installation of this version cannot continue, when using just the msi or the Visual Studio bootstrapper. Do you have your Bootstrapper to always launch with the Reinstall properties set when the product code is detected to be installed? However, I would have thought that would always do a reinstall then and not allow maintenance mode. My bootstrapper works in following way: If the product is already installed then the installer is launched with REINSTALLMODE=vomus REINTALL=all So if the package code is the same it will run the Maintenance mode and if the package code is different it will run reinstallation. In fact I do not use the Resume dialog for reinstallation. The Maintenance mode is started in both cases, so the user needs to press the Reinstall (repair) button in order to start reinstallaion. Regards Stefan Cheers, -Matthew Rowan -Original Message- From: Stefan Pavlik [mailto:[EMAIL PROTECTED] Sent: Wednesday, 14 February 2007 17:24 To: Matthew Rowan Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Bootstrapper Hi Matthew,... I have, personaly, no experience with the Visual Studio 2005 Bootstrapper but the simple bootstrapper I use (wrote) does not have the step 6 you are writing about. It is simply not needed because when you run the maintenance mode with arguments REINSTALLMODE=vomus REINSTALL=ALL it will do what you want. It is simply because the 'v' option of REINSTALLMODE means 'runs from source and recaches local package'. Regards Stefan Matthew Rowan wrote: Hi All, I know this topic has been of much discussion and I have looked through all of the previous mailings but am still unable to produce what I need. All I want is a bootstrapper that is similar to InstallShield to perform minor upgrades. I need to: 1. Ensure prerequisites are present and if not then install (.NET 2.0, Windows Installer 3.1) 2. Get the product code of the package. 3. Check if the product code is already installed. 4. If it isn't, launch the install normally. 5. If it is and the package code is the same, launch maintenance mode. 6. If the package code is different, launch the install in reinstall mode. Preferably I would like to display a splash screen while the bootstrapper fires up msiexec. Almost all the requirements are handled very nicely by the Visual Studio 2005 GenerateBootstrapper task and is the preferred solution, however it does not handle requirement 6. Changing the product code would resolve this, but then I need to mess with my msi and schedule RemoveExistingProducts near the end of the install to maintain settings in files like the web.config, as far as I know. Is this the recommended action? It is direction I'm leaning towards. The other option using the Bootstrapper at http://sourceforge.net/tracker/?group_id=105970atid=654188 and modifying it with msistuff.exe setup.exe /o INSTALLUPD /d mymsi.msi /b mymsi.msi /v 200 /n My Product. Using this requirements 1 and 5 aren't satisfied. Another option I have read is to use the GenerateBootstrapper task to launch a C# UI and check everything with that. But this sounds like a lot of unnecessary work and I don't know how to go about this. Also with either bootstrapper option I have tried the Visual Styles of my installer are gone. This is a minor issue except that the ComboBox drop down list do not show (you have to use the up and down keys to go through the options). Has anyone else experienced this? Thanks, -Matthew Rowan - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Stefan Pavlik | [EMAIL PROTECTED] Whitestein Technologies | www.whitestein.com Panenska 28 | SK-81103 Bratislava | Slovak Republic Tel +421(2)5930-0735 | Fax +421(2)5443-5512 - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your
[WiX-users] Vista and elevation
Simple question but I can't find a definitive answer here. Is it possible to build a single package that will install on Vista per-user without asking for admin privileges but that will also be able to install per-machine (and ask for elevation)? All I can find here is InstallPrivileges, but that's for the whole package, and if it's set to limited then the per-machine install fails. Or should I not even be thinking along these lines at all... :-) -- View this message in context: http://www.nabble.com/Vista-and-elevation-tf3226711.html#a8963170 Sent from the wix-users mailing list archive at Nabble.com. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Error when trying to conditionally run something (2753)
Hi there, I've managed to find some more information on the subject and think I have solved the problem I was having. In the CustomAction I've changed the condition from NOT Installed to CustomAction Id='LaunchFile' FileKey='svg' ExeCommand='' Return='asyncNoWait' / InstallExecuteSequence Custom Action='LaunchFile' After='InstallFinalize'$Install=3/Custom /InstallExecuteSequence I.E. Only run if the client component is being installed. I've tried it once and it apeared to work okay. Wilson, Phil wrote: Not marked for installation means that the custom action can't run because the target file isn't going to be installed. That could be a consequence of your feature/component arrangement, although sometimes you get it if there is an existing file of an equal or higher version so the one in your package isn't going to be installed. If you run the file from the Binary table the error should go away, or put it in a hidden feature that's always installed. Phil Wilson -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of dave_c Sent: Friday, February 09, 2007 7:31 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Error when trying to conditionally run something (2753) Basically the user would select to install the Client software from the Feature Selection screen Once all the client software has been installed it would then perform a post install action to install the seperate installer (svgview.exe which is an installer in itself) If adding the svgview.exe as a feature can I prevent this from being displayed on the Feature Selection screen also how would this be executed. For the time being I have added the code to my Client Fragment of code ?xml version='1.0' encoding='windows-1252'? Wix xmlns='http://schemas.microsoft.com/wix/2003/01/wi' Fragment Id='ClientFeatures' !-- Called by Business Dashboard.wxs. This file describes the list of possible installable components followed by the actual components we are going to install -- Feature Id='CLIENT' Title='Client Configuration' Description='Features to be installed on the Client PC' Display='collapse' Absent='allow' Level='1' InstallDefault='local' FeatureRef Id='ClientDocs'/ FeatureRef Id='ClientExes'/ FeatureRef Id='ClientLinks'/ !-- Note, no condiition here because we want the ability to install the client on either a client machine or on the server itself-- /Feature Feature Id ='ClientDocs' Level='1' Title='Documents relating to the Agilent Business Dashboard' AllowAdvertise='no' Description='End User documentation' Absent='allow' InstallDefault='local' ComponentGroupRef Id='ClientDocuments' / /Feature Feature Id ='ClientExes' Level='1' Title='Executables that need to be installed on the client machine' AllowAdvertise='no' Description='At the present time only installs svgviewer to view traffic lights in Business Objects.' Absent='allow' InstallDefault='local' ComponentGroupRef Id='ClientExecutables' / /Feature Feature Id ='ClientLinks' Level='1' Title='Links applications' AllowAdvertise='no' Description='At the present time only creates a link to launching the Business Dashboard' Absent='allow' InstallDefault='local' ComponentGroupRef Id='ClientLinks' / /Feature CustomAction Id='LaunchFile' FileKey='svg' ExeCommand='' Return='asyncNoWait' / InstallExecuteSequence Custom Action='LaunchFile' After='InstallFinalize'NOT Installed/Custom /InstallExecuteSequence /Fragment /Wix Interestingly, when I run the installer in debug I get the following error message DEBUG: Error 2753: The File 'svg' is not marked for installation. The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2753. The arguments are: svg, , MSI (s) (BC:7C) [15:25:21:649]: Product: Agilent Business Dashboard -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2753. The arguments are: svg, , This hopefulyl provides more insight to the problem and hopefully someone can provide an answer. david adams-2 wrote: Is this function that can be accomplished using the Feature elements? Do you want your Install User to select particular features or do you envision something like a custom dialog that allows them to select Client or Server? Pending their selection on the custom dialog, the correct set of features should already be enabled / scheduled. David Adams MSN
Re: [WiX-users] Delete a virtual directory
My install creates virtual directories under Default Web Site - All Unassigned IP. The IP, however, is guaranteed to change to a static IP address which botches the uninstall of the virtual directory. So I would simply like to delete it regardless. From: Rob Mensching [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 14, 2007 7:02 AM To: Don Tasanasanta; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Delete a virtual directory Not today. Kinda' weird scenario, what are you doing? From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Don Tasanasanta Sent: Tuesday, February 13, 2007 2:51 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Delete a virtual directory Is there a command to delete a virtual directory if it exists? - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Vista and elevation
What I did was make a small bootstrapper application that contains both MSI's one that does per-user and one that does per-machine. My bootstrapper prompts the user to select one and then it launches the appropiate MSI. Mike Robertson wrote: Simple question but I can't find a definitive answer here. Is it possible to build a single package that will install on Vista per-user without asking for admin privileges but that will also be able to install per-machine (and ask for elevation)? All I can find here is InstallPrivileges, but that's for the whole package, and if it's set to limited then the per-machine install fails. Or should I not even be thinking along these lines at all... :-) -- View this message in context: http://www.nabble.com/Vista-and-elevation-tf3226711.html#a8970997 Sent from the wix-users mailing list archive at Nabble.com. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Error when trying to conditionally run something (2753)
Wix syntax isn't something I'm very familiar with, but in general you need a feature-action condition based on the feature transitioning to an installed state, FeatureName=3. Phil Wilson -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of dave_c Sent: Wednesday, February 14, 2007 2:16 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Error when trying to conditionally run something (2753) Thanks for the response. This would make sense. I only want to run this customAction if I am installing the client side of things. When I select the server side to be installed the executable is not selected for install (it is a feature of the client). So I guess I need to add extra control to the definition of the CustomAction/InstallExecuateSequence over and above on install, but the question now becomes how do I add this extra control. I presume there may be a way of saying Only do on install and if server feature selected. Do you know what this syntax is? Wilson, Phil wrote: Not marked for installation means that the custom action can't run because the target file isn't going to be installed. That could be a consequence of your feature/component arrangement, although sometimes you get it if there is an existing file of an equal or higher version so the one in your package isn't going to be installed. If you run the file from the Binary table the error should go away, or put it in a hidden feature that's always installed. Phil Wilson -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of dave_c Sent: Friday, February 09, 2007 7:31 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Error when trying to conditionally run something (2753) Basically the user would select to install the Client software from the Feature Selection screen Once all the client software has been installed it would then perform a post install action to install the seperate installer (svgview.exe which is an installer in itself) If adding the svgview.exe as a feature can I prevent this from being displayed on the Feature Selection screen also how would this be executed. For the time being I have added the code to my Client Fragment of code ?xml version='1.0' encoding='windows-1252'? Wix xmlns='http://schemas.microsoft.com/wix/2003/01/wi' Fragment Id='ClientFeatures' !-- Called by Business Dashboard.wxs. This file describes the list of possible installable components followed by the actual components we are going to install -- Feature Id='CLIENT' Title='Client Configuration' Description='Features to be installed on the Client PC' Display='collapse' Absent='allow' Level='1' InstallDefault='local' FeatureRef Id='ClientDocs'/ FeatureRef Id='ClientExes'/ FeatureRef Id='ClientLinks'/ !-- Note, no condiition here because we want the ability to install the client on either a client machine or on the server itself-- /Feature Feature Id ='ClientDocs' Level='1' Title='Documents relating to the Agilent Business Dashboard' AllowAdvertise='no' Description='End User documentation' Absent='allow' InstallDefault='local' ComponentGroupRef Id='ClientDocuments' / /Feature Feature Id ='ClientExes' Level='1' Title='Executables that need to be installed on the client machine' AllowAdvertise='no' Description='At the present time only installs svgviewer to view traffic lights in Business Objects.' Absent='allow' InstallDefault='local' ComponentGroupRef Id='ClientExecutables' / /Feature Feature Id ='ClientLinks' Level='1' Title='Links applications' AllowAdvertise='no' Description='At the present time only creates a link to launching the Business Dashboard' Absent='allow' InstallDefault='local' ComponentGroupRef Id='ClientLinks' / /Feature CustomAction Id='LaunchFile' FileKey='svg' ExeCommand='' Return='asyncNoWait' / InstallExecuteSequence Custom Action='LaunchFile' After='InstallFinalize'NOT Installed/Custom /InstallExecuteSequence /Fragment /Wix Interestingly, when I run the installer in debug I get the following error message DEBUG: Error 2753: The File 'svg' is not marked for installation. The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2753. The arguments are: svg, , MSI (s) (BC:7C) [15:25:21:649]: Product: Agilent Business Dashboard -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is
[WiX-users] Prevent Deletion of File
I have an MSI that installs numerous files - some of these may be shared by other components on the same box at a later time. I need to ensure that these specific files are not deleted upon uninstallation of my MSI. An example would help! Thanks for the help, guys! - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to use a Property Value to create another Property
Have you tried: Property Id='VDDIR' Value=[MAINDIR]webmain / I think that should resolve to what you want. On 2/14/07, Nick Hennemann [EMAIL PROTECTED] wrote: *I have the following Property MAINDIR and it is populated correctly from the registry….* Property Id=*'MAINDIR'* RegistrySearch Id='AppInstallRegistrySearch' Type='raw' Root='HKLM' Key='Software\OurSoftwareCompany\SoftwareName' Name='Install Directory' / /Property And then I have another property call VDDIR and I use the MAINDIR property to help build the path for my virtual directory….however I can see that instead of the path being built by replacing the MAINDIR property with it's value it simply is leaving the path with [MAINDIR] . Here are the properties as reported in the MSI log: *Property(S): MAINDIR = C:\PROGRA~1\SoftwareDir\* *Property(S): VDDIR = [MAINDIR]webmain* * * Property Id='VDDIR'*[MAINDIR]*webmain/Property *How do I use the value from one Property in another one? Any help would be greatly appreciated. It appears that maybe it is defining the property of VDDIR before it is getting the value of MAINDIR...if so how can I ensure that MAINDIR is populated first. TIA.* *Here is an excerpt from the WiX tutorial that shows how to do it, but I can't seem to make it work. Anyone able to get this to work? * *Property* Id=*INSTALLDIR* *IniFileSearch* Id='AcmeFoobarIniFile' Type='directory' Name='SampleRegistry.ini' Section='Sample' Key='InstallDir' / /*Property* There might be cases when simply knowing the directory is not enough: you have to look into the directory and make sure a given file exists there. * Depth = n* can be used to instruct the installer to look *n* levels deeper than the specified *Path.* Zero or a missing *Depth* attribute means only to look in the specified folder, not below it. We use square brackets in * Path* to tell the installer to use the *value* of the *INSTALLDIR*property—bracketed names will be looked up and if found, replaced with their actual value. If not found, the string will remain unchanged. *Property* Id=FILEEXISTS *DirectorySearch* Id=CheckFileDir Path=[*INSTALLDIR*] Depth=0 *FileSearch* Id=CheckFile Name=Lookfor.txt / /*DirectorySearch* /*Property* NOTICE: This electronic mail message and any files transmitted with it are intended exclusively for the individual or entity to which it is addressed. The message, together with any attachment, may contain confidential and/or privileged information. Any unauthorized review, use, printing, saving, copying, disclosure or distribution is strictly prohibited. If you have received this message in error, please immediately advise the sender by reply email and delete all copies. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to use a Property Value to create another Property
Thanks for the quick response.I just tried your suggestion and unfortunately I got the same result. From: Levi Wilson [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 14, 2007 2:11 PM To: Nick Hennemann Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How to use a Property Value to create another Property Have you tried: Property Id='VDDIR' Value=[MAINDIR]webmain / I think that should resolve to what you want. On 2/14/07, Nick Hennemann [EMAIL PROTECTED] wrote: I have the following Property MAINDIR and it is populated correctly from the registry Property Id='MAINDIR' RegistrySearch Id='AppInstallRegistrySearch' Type='raw' Root='HKLM' Key='Software\OurSoftwareCompany\SoftwareName' Name='Install Directory' / /Property And then I have another property call VDDIR and I use the MAINDIR property to help build the path for my virtual directoryhowever I can see that instead of the path being built by replacing the MAINDIR property with it's value it simply is leaving the path with [MAINDIR] . Here are the properties as reported in the MSI log: Property(S): MAINDIR = C:\PROGRA~1\SoftwareDir\ Property(S): VDDIR = [MAINDIR]webmain Property Id='VDDIR'[MAINDIR]webmain/Property How do I use the value from one Property in another one? Any help would be greatly appreciated. It appears that maybe it is defining the property of VDDIR before it is getting the value of MAINDIR...if so how can I ensure that MAINDIR is populated first. TIA. Here is an excerpt from the WiX tutorial that shows how to do it, but I can't seem to make it work. Anyone able to get this to work? Property Id= INSTALLDIR IniFileSearch Id='AcmeFoobarIniFile' Type='directory' Name='SampleRegistry.ini' Section='Sample' Key='InstallDir' / / Property There might be cases when simply knowing the directory is not enough: you have to look into the directory and make sure a given file exists there. Depth = n can be used to instruct the installer to look n levels deeper than the specified Path. Zero or a missing Depth attribute means only to look in the specified folder, not below it. We use square brackets in Path to tell the installer to use the value of the INSTALLDIR property-bracketed names will be looked up and if found, replaced with their actual value. If not found, the string will remain unchanged. Property Id=FILEEXISTS DirectorySearch Id=CheckFileDir Path=[INSTALLDIR] Depth=0 FileSearch Id=CheckFile Name=Lookfor.txt / /DirectorySearch /Property NOTICE: This electronic mail message and any files transmitted with it are intended exclusively for the individual or entity to which it is addressed. The message, together with any attachment, may contain confidential and/or privileged information. Any unauthorized review, use, printing, saving, copying, disclosure or distribution is strictly prohibited. If you have received this message in error, please immediately advise the sender by reply email and delete all copies. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDE V ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users NOTICE: This electronic mail message and any files transmitted with it are intended exclusively for the individual or entity to which it is addressed. The message, together with any attachment, may contain confidential and/or privileged information. Any unauthorized review, use, printing, saving, copying, disclosure or distribution is strictly prohibited. If you have received this message in error, please immediately advise the sender by reply email and delete all copies. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to use a Property Value to create another Property
You cannot set a property to the value of another property in that way. That is necessary to prevent creating circular references. What you should do is call a CustomAction that will set the value of VDDIR property after MAINDIR has been set. You would have to do something like this: CustomAction Id=SetVDDIR Property=VDDIR Value=[MAINDIR]webmain/ Custom Action=SetVDDIR After=AppSearch/ K-ballo.- Nick Hennemann escribió: *I have the following Property MAINDIR and it is populated correctly from the registry* Property Id=*'MAINDIR'* RegistrySearch Id='AppInstallRegistrySearch' Type='raw' Root='HKLM' Key='Software\OurSoftwareCompany\SoftwareName' Name='Install Directory' / /Property And then I have another property call VDDIR and I use the MAINDIR property to help build the path for my virtual directoryhowever I can see that instead of the path being built by replacing the MAINDIR property with it's value it simply is leaving the path with [MAINDIR] . Here are the properties as reported in the MSI log: *Property(S): MAINDIR = C:\PROGRA~1\SoftwareDir\* *Property(S): VDDIR = [MAINDIR]webmain* * * Property Id='VDDIR'*[MAINDIR]*webmain/Property *How do I use the value from one Property in another one? Any help would be greatly appreciated. It appears that maybe it is defining the property of VDDIR before it is getting the value of MAINDIR...if so how can I ensure that MAINDIR is populated first. TIA.* *Here is an excerpt from the WiX tutorial that shows how to do it, but I can't seem to make it work. Anyone able to get this to work? * **Property** Id=*INSTALLDIR* **IniFileSearch** Id='AcmeFoobarIniFile' Type='directory' Name='SampleRegistry.ini' Section='Sample' Key='InstallDir' / /**Property** There might be cases when simply knowing the directory is not enough: you have to look into the directory and make sure a given file exists there. **Depth = n** can be used to instruct the installer to look //n// levels deeper than the specified **Path.** Zero or a missing **Depth** attribute means only to look in the specified folder, not below it. We use square brackets in **Path** to tell the installer to use the //value// of the //INSTALLDIR// property---bracketed names will be looked up and if found, replaced with their actual value. If not found, the string will remain unchanged. **Property** Id=FILEEXISTS **DirectorySearch** Id=CheckFileDir Path=[*INSTALLDIR*] Depth=0 **FileSearch** Id=CheckFile Name=Lookfor.txt / /**DirectorySearch** /**Property** NOTICE: This electronic mail message and any files transmitted with it are intended exclusively for the individual or entity to which it is addressed. The message, together with any attachment, may contain confidential and/or privileged information. Any unauthorized review, use, printing, saving, copying, disclosure or distribution is strictly prohibited. If you have received this message in error, please immediately advise the sender by reply email and delete all copies. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to use a Property Value to create anotherProperty
Ok, I will go that route. THANK YOU for your quick responses! From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of K-ballo Sent: Wednesday, February 14, 2007 2:42 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How to use a Property Value to create anotherProperty You cannot set a property to the value of another property in that way. That is necessary to prevent creating circular references. What you should do is call a CustomAction that will set the value of VDDIR property after MAINDIR has been set. You would have to do something like this: CustomAction Id=SetVDDIR Property=VDDIR Value=[MAINDIR]webmain/ Custom Action=SetVDDIR After=AppSearch/ K-ballo.- Nick Hennemann escribió: I have the following Property MAINDIR and it is populated correctly from the registry Property Id='MAINDIR' RegistrySearch Id='AppInstallRegistrySearch' Type='raw' Root='HKLM' Key='Software\OurSoftwareCompany\SoftwareName' Name='Install Directory' / /Property And then I have another property call VDDIR and I use the MAINDIR property to help build the path for my virtual directoryhowever I can see that instead of the path being built by replacing the MAINDIR property with it's value it simply is leaving the path with [MAINDIR] . Here are the properties as reported in the MSI log: Property(S): MAINDIR = C:\PROGRA~1\SoftwareDir\ Property(S): VDDIR = [MAINDIR]webmain Property Id='VDDIR'[MAINDIR]webmain/Property How do I use the value from one Property in another one? Any help would be greatly appreciated. It appears that maybe it is defining the property of VDDIR before it is getting the value of MAINDIR...if so how can I ensure that MAINDIR is populated first. TIA. Here is an excerpt from the WiX tutorial that shows how to do it, but I can't seem to make it work. Anyone able to get this to work? Property Id=INSTALLDIR IniFileSearch Id='AcmeFoobarIniFile' Type='directory' Name='SampleRegistry.ini' Section='Sample' Key='InstallDir' / /Property There might be cases when simply knowing the directory is not enough: you have to look into the directory and make sure a given file exists there. Depth = n can be used to instruct the installer to look n levels deeper than the specified Path. Zero or a missing Depth attribute means only to look in the specified folder, not below it. We use square brackets in Path to tell the installer to use the value of the INSTALLDIR property-bracketed names will be looked up and if found, replaced with their actual value. If not found, the string will remain unchanged. Property Id=FILEEXISTS DirectorySearch Id=CheckFileDir Path=[INSTALLDIR] Depth=0 FileSearch Id=CheckFile Name=Lookfor.txt / /DirectorySearch /Property NOTICE: This electronic mail message and any files transmitted with it are intended exclusively for the individual or entity to which it is addressed. The message, together with any attachment, may contain confidential and/or privileged information. Any unauthorized review, use, printing, saving, copying, disclosure or distribution is strictly prohibited. If you have received this message in error, please immediately advise the sender by reply email and delete all copies. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users NOTICE: This electronic mail message and any files transmitted with it are intended exclusively for the individual or entity to which it is addressed. The message, together with any attachment, may contain confidential and/or privileged information. Any unauthorized review, use, printing, saving, copying, disclosure or distribution is strictly prohibited. If you have received this message in error, please immediately advise the sender by reply email and delete all copies. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net
Re: [WiX-users] Prevent Deletion of File
I believe you set the Component Attribute Permanent=yes Dhaval Patel-4 wrote: I have an MSI that installs numerous files - some of these may be shared by other components on the same box at a later time. I need to ensure that these specific files are not deleted upon uninstallation of my MSI. An example would help! Thanks for the help, guys! - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- View this message in context: http://www.nabble.com/Prevent-Deletion-of-File-tf3229084.html#a8973697 Sent from the wix-users mailing list archive at Nabble.com. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] WiX3 Error: The primary key xxx is duplicated in table 'Registry'
I think I understand this a bit more now and it would appear to be limitation of the Class element. To register .Net COM components you need to set the InprocServer32 to mscoree.dll and I can't see how you can do this with the Class element as this is not a file that is installed by your setup. To work around this the author of Heat has decided to add a registry key element to set the value and this is the cause of the duplicate key. I think the full solution would be to modify the Class element to fully support .Net COM components, for these it would also be necessary to allow the addition of the keys Assembly, RuntimeVersion and CodeBase. It may be possible to automatically create these from the component at compile time, this could be achieved by supporting an Assembly attribute like the File one that you can set to .net. Does this sound plausible? Regards Neil Neil Sleightholm X2 Systems Limited [EMAIL PROTECTED] From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Neil Sleightholm Sent: 30 January 2007 17:52 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] WiX3 Error: The primary key xxx is duplicated in table 'Registry' I'll see if I can contribute by working out what the problem is. Neil From: Rob Mensching [mailto:[EMAIL PROTECTED] Sent: 30 January 2007 17:41 To: Neil Sleightholm; wix-users@lists.sourceforge.net Subject: RE: Re: [WiX-users] WiX3 Error: The primary key xxx is duplicated in table 'Registry' This bug in heat has been reported a couple times. Unfortunately, people just keep working around the bug instead of helping make a fix for it. So, it hasn't been fixed because no one is currently maintaining heat.exe. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Bootstrapper
To do that I need to conditionally set the command line arguments with REINSTALLMODE=vomus REINTALL=all when the product is already installed. Does anybody know how to do that using the Visual Studio 2005 GenerateBootstrapper task? -Matthew Rowan -Original Message- From: Stefan Pavlik [mailto:[EMAIL PROTECTED] Sent: Wednesday, 14 February 2007 20:29 To: Matthew Rowan Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Bootstrapper Hi again... Matthew Rowan wrote: Thanks for the quick reply Stefan. What I have found is that when I build a new installer for the next minor version it does not launch in Maintenance mode because the package code is different, but the product code is the same and I get the error message Another version of this product is already installed. Installation of this version cannot continue, when using just the msi or the Visual Studio bootstrapper. Do you have your Bootstrapper to always launch with the Reinstall properties set when the product code is detected to be installed? However, I would have thought that would always do a reinstall then and not allow maintenance mode. My bootstrapper works in following way: If the product is already installed then the installer is launched with REINSTALLMODE=vomus REINTALL=all So if the package code is the same it will run the Maintenance mode and if the package code is different it will run reinstallation. In fact I do not use the Resume dialog for reinstallation. The Maintenance mode is started in both cases, so the user needs to press the Reinstall (repair) button in order to start reinstallaion. Regards Stefan Cheers, -Matthew Rowan -Original Message- From: Stefan Pavlik [mailto:[EMAIL PROTECTED] Sent: Wednesday, 14 February 2007 17:24 To: Matthew Rowan Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Bootstrapper Hi Matthew,... I have, personaly, no experience with the Visual Studio 2005 Bootstrapper but the simple bootstrapper I use (wrote) does not have the step 6 you are writing about. It is simply not needed because when you run the maintenance mode with arguments REINSTALLMODE=vomus REINSTALL=ALL it will do what you want. It is simply because the 'v' option of REINSTALLMODE means 'runs from source and recaches local package'. Regards Stefan Matthew Rowan wrote: Hi All, I know this topic has been of much discussion and I have looked through all of the previous mailings but am still unable to produce what I need. All I want is a bootstrapper that is similar to InstallShield to perform minor upgrades. I need to: 1. Ensure prerequisites are present and if not then install (.NET 2.0, Windows Installer 3.1) 2. Get the product code of the package. 3. Check if the product code is already installed. 4. If it isn't, launch the install normally. 5. If it is and the package code is the same, launch maintenance mode. 6. If the package code is different, launch the install in reinstall mode. Preferably I would like to display a splash screen while the bootstrapper fires up msiexec. Almost all the requirements are handled very nicely by the Visual Studio 2005 GenerateBootstrapper task and is the preferred solution, however it does not handle requirement 6. Changing the product code would resolve this, but then I need to mess with my msi and schedule RemoveExistingProducts near the end of the install to maintain settings in files like the web.config, as far as I know. Is this the recommended action? It is direction I'm leaning towards. The other option using the Bootstrapper at http://sourceforge.net/tracker/?group_id=105970atid=654188 and modifying it with msistuff.exe setup.exe /o INSTALLUPD /d mymsi.msi /b mymsi.msi /v 200 /n My Product. Using this requirements 1 and 5 aren't satisfied. Another option I have read is to use the GenerateBootstrapper task to launch a C# UI and check everything with that. But this sounds like a lot of unnecessary work and I don't know how to go about this. Also with either bootstrapper option I have tried the Visual Styles of my installer are gone. This is a minor issue except that the ComboBox drop down list do not show (you have to use the up and down keys to go through the options). Has anyone else experienced this? Thanks, -Matthew Rowan - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ WiX-users mailing list
Re: [WiX-users] Windows Forms App
I was able to fix this issue - my windows form reads and writes values to and from the registry... it turned out that the way WIX was creating the registry key was making it unreadable somehow. The weird part was that the form was able to read from a couple of keys (both created by WIX), but unable to read/write from the same key's sub-keys. For anyone else who has the same issue, I have found that setting the Action attribute to Action=createKeyAndRemoveKeyOnUninstall (for a type string registry key) works just fine. I don't know if this is a bug, or I just made a mistake configuring the keys. This is what I had initially when the form was crashing because WIX (or I) made the key unreadable -- this key had sub-keys and another registry key defined with the same signature: Registry Root='HKLM' Key='SOFTWARE\MyCompany\App1' Action='write' This is what fixed it (I had to set the Action to createKeyAndRemoveKeyOnUninstall for all the sub-keys and parent keys): Registry Root=HKLM Key=SOFTWARE\MyCompany\App1 Action=createKeyAndRemoveKeyOnUninstall Also, I used tallow to create the WIX fragment and one thing I noticed was that tallow doesn't decorate the Registry elements with the Action attribute, which also didn't seem to work in my case. Thanks! On 2/13/07, Johan Appelgren [EMAIL PROTECTED] wrote: On 2/14/07, Dhaval Patel [EMAIL PROTECTED] wrote: I don't know if this issue is WIX related, or something completely random. I had developed an app that was deployed using Xcopy via a batch file. Recently my PM decided to port it to WIX because of my newly gained WIX powers. Anyway, this app has a bunch of .dll files and a Windows Forms app that references a couple of these .dll files. There are no problems with the installer and everything installs just fine. But as soon as I try and launch the .exe file (the Windows Form), it crashes. The Windows Forms app has no problems, whatsoever, if deployed via Xcopy. I am not sure if how I have laid out my Components (the Name attribute for backward compatiblity, etc.) in the WIX file is screwing up somehow... This is a .NET 2.0 app being deployed on W2K3 server. I haven't tried installing it on XP. Thanks in advance, folks! How does the application crash? The exception should give you some clues to track down the problem. Although since it works when you copy the files a possible cause could be that one or more of the files are missing or were installed in the wrong location. /Johan - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Is possible to install IIS as part of MSI setup ?
Hi, I know it is strange requirement (customers ... you know :-) but I'd like to be sure that it is not possible to install IIS (Windows Server 2003 or 2000) as a part of MSI setup. I know that installing IIS means rather changing the system configuration but it might be scriptable somehow. Thanks, Petr - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Copy back a file at uninstall
Now I thought/hoped this would be trivial but no. For various reasons we need to create an installer that 1) copies the original file to a well defined location 2) updates the original file with a newer version On Uninstall we need to 1) Remove the patched version 2) Copy the original file back from the old location 3) Delete the directory that was created to hold the original file I am looking for the best approach, sorry if this is obvious but I do not have much time to figure this out. If somebody has some pointers or self documenting sample that would be greatly appreciated. Right now we tried using a custom action to place the file back after RemoveFiles or before InstallFinalize both with no result, the custom actions work but the file is still removed Thanks a ton, -GertD - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Prevent Deletion of File
Dhaval Patel wrote: I have an MSI that installs numerous files - some of these may be shared by other components on the same box at a later time. I need to ensure that these specific files are not deleted upon uninstallation of my MSI. An example would help! If the same components are shared among multiple MSIs, MSI only uninstalls them when there are no installed products using them. -- sig://boB http://bobs.org - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Launch Condition on Uninstall
Hi, I have a setup package that I created and I also have other setup packages that are plug ins to the main application. Now the installation of the the main app is checked via a Condition, but when I uninstall the main application first and then the plugin setup I get a fatal error saying the main application is required(my launch condition). How can I bypass the Launch Condition on Uninstall? Thanks Adriaan - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Launch Condition on Uninstall
Adriaan wrote: How can I bypass the Launch Condition on Uninstall? Use a condition of Installed OR ... so the condition is true when the product is being uninstalled. -- sig://boB http://bobs.org - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] .NET CustomAction dll - can I use .net to code my custom action?
I note that there is MSI interop coded in wix, and there is another msi interop C# library floating around (http://workspaces.gotdotnet.com/msiinterop). Can I call an entry point in a .net dll from a wix script? (or rather, can msi files handle this). Also, why is the MSI Interop classes in wix marked as internal? it would be nice to use them Cheers - Nick - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users