[WiX-users] Feature installation condition
Hi all. Forgive me if this has been covered before, but I can find no information in the archives. I am using wix v3 (through visual studio), which admittedly may not be the best way to learn but it does seem to have a more inclusive feature set. I am trying to do a conditional reboot, depending on whether or not a certain feature (or component) is installed. Looking through google, I found that I should be able to use featureId to test for this and on the Installer SDK is a list of variables such as featureId, !featureId and $componentId, but nothing seems to do the trick. If I try this: InstallExecuteSequence ScheduleReboot After='InstallFinalize'(featureId)/ScheduleReboot /InstallExecuteSequence I get an error saying that a ';' was expected. I have tried with and without brackets. Any other variable I try, such as !featureId or !featureId=4 seems to cause a reboot whether or not I install the feature. When I try NOT !featureId it doesn't reboot no matter which feature I install. Am I doing something wrong? Thanks in advance. Lawrence - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] CustomUI change install path not possible?
Bob Arnson wrote: That looks fine but the sequencing you give in an earlier message means that any directory chosen by the user will be overwritten by your DirectorySet custom action. You want to add a condition -- NOT TARGETDIR -- so it doesn't run if the user has already specified one in the UI. Well, good idea, even though this is not the Problem, since it does not come to that point either. As soon as the user clicks the browse-button the error is thrown. Even if the directory changed by the user is overwritten, why are only the directorys of that one msm in user given path and all other files and dirs in the overwritten one. If the custom action overwrites the directory, it should overwrite it for all msm, shouldn' t it? Oliver - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] update Default Web Site
Hello! I`d like to know can I modify properties of the existing Default Web Site using wix. If I try WebDirProperties Id=DefaultSiteProperties AnonymousAccess=no Execute =yes Read=yes Script=yes WindowsAuthentication=yes / DirectoryRef Id=INSTALLDIR Component Id=CIIS DiskId=1 Guid=F984FC66-AFF6-45D5-A1F1-2F021953233F WebSite Id=IISDefaultWebSite Description=Default Web Site ConfigureIfExists=yes DirProperties=DefaultSiteProperties WebAddress Id=IISAllUnassigned Port=80 / /WebSite /Component /DirectoryRef it will delete site when uninstall. And if WebSite is not in the component than I cannot specify DirProperties But I don`t need delete it. Only update properties on installation - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] minor Updates
Hi everyone, I quite new to Wix and I'm using Wix V3. I've looked around for a solution to my problem but I can't find anything maybe you will be able to help me. So here's the problem: Is there a way to perform a minor update without having to add on the command line REINSTALL=ALL REINSTALLMODE=vomus ??? Isn't there a way to dynamically add these properties when we detect that a former version of the product is already installed? I also have another question: I have described a custom UI. In this dialog box, I ask for some configuration properties. Is there a way to make this dialog box appear in update mode? Thanks for your help. Fred begin:vcard fn;quoted-printable:Fr=C3=A9d=C3=A9ric Viollet n;quoted-printable:Viollet;Fr=C3=A9d=C3=A9ric org:Bull, Architect of an Open World (TM);Evidian S.A. adr;quoted-printable:;;Rue Jean Jaur=C3=A8s;Les Clayes Sous Bois;;78340;France email;internet:[EMAIL PROTECTED] title:Software Engineer tel;work:01 30 80 77 34 url:http://www.evidian.com - http://www.bull.com version:2.1 end:vcard - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] light.exe : error LGHT0001 : Index was outside the bounds of the array.
Microsoft (R) Windows Installer Xml Linker version 2.0.5325.0 Copyright (C) Microsoft Corporation 2003. All rights reserved. light.exe : error LGHT0001 : Index was outside the bounds of the array. Exception Type: System.IndexOutOfRangeException Stack Trace: at Microsoft.Tools.WindowsInstallerXml.Linker.Link(Intermediate[] intermediates) at Microsoft.Tools.WindowsInstallerXml.Tools.Light.Run(String[] args) -- View this message in context: http://www.nabble.com/light.exe-%3A-error-LGHT0001-%3A-Index-was-outside-the-bounds-of-the-array.-tf4096009.html#a11646758 Sent from the wix-users mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] updating properties
I'm trying to update a property from a PushButton. So, in my project file I have: Property Id=MyProperty MyDefaultValue /Property , and in a dialog I have: Control Id=MyEdit Type=Edit X=45 Y=85 Width=220 Height=18 Property=TXT.VALUE Text={80} / Control Id=Next Type=PushButton X=236 Y=243 Width=56 Height=17 Default=yes Text=amp;Next Publish Property=MyProperty Value=[TXT.VALUE]1/Publish Publish Event=NewDialog Value=[WixUI_MyDlg_Next]1/Publish /Control Unfortunately, this doesn't change the property from its default value. Any ideas? - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] updating properties
Try giving the property name all capitals, i.e., MYPROPERTY. Rennie -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Craig Ward Sent: 17. juli 2007 13:32 To: wix-users@lists.sourceforge.net Subject: [WiX-users] updating properties I'm trying to update a property from a PushButton. So, in my project file I have: Property Id=MyProperty MyDefaultValue /Property , and in a dialog I have: Control Id=MyEdit Type=Edit X=45 Y=85 Width=220 Height=18 Property=TXT.VALUE Text={80} / Control Id=Next Type=PushButton X=236 Y=243 Width=56 Height=17 Default=yes Text=amp;Next Publish Property=MyProperty Value=[TXT.VALUE]1/Publish Publish Event=NewDialog Value=[WixUI_MyDlg_Next]1/Publish /Control Unfortunately, this doesn't change the property from its default value. Any ideas? -- --- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] InstallExecuteSequence: checking mode
I have an InstallExecuteSequence block, within which I currently run actions depending on whether the installation is installing or removing. I'd like to extend the installing condition to include the Change/Repair modes that are available in the maintenance dialog. I'm trying this but with no success: InstallExecuteSequence Custom Action=MyCleanup After=InstallInitialize Installed AND REMOVE /Custom Custom Action=MySetup After=InstallFinalize NOT Installed OR ([WixUI_Mode] = Change) OR ([WixUI_Mode] = Repair) /Custom /InstallExecuteSequence Any ideas? - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to call a .dll from wix with arguments?
Thank you very much. Very good documents. Understood what needs to do. Thanks again. Srini Ian Stevenson [EMAIL PROTECTED] wrote: Hi Srini, The idea is that you don't explicitly pass any arguments to the function call (the only argument being the MSI handle that get's set by the installer), instead they are passed by a process of the installer setting up the necessary properties before the custom action is executed. Then within the DLL's function you make calls to MsiGetProperty() to get the arguments and do your processing. In a similar way, if you need some OUT arguments you use MsiSetProperty. If you google for MsiGetProperty you will find many examples (some not wix specific, but it does not matter), but here are some starting points for you: http://msdn2.microsoft.com/En-US/library/aa370134.aspx http://www.wixwiki.com/index.php?title=Simple_Custom_Action_Dll That should get you started, plus it seems there are some threads in the archive for this mailing list, so you should be able to find some tips searching through that as well. Good luck, Ian. - From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of srinivas nomu Sent: Tuesday, 17 July 2007 7:37 AM To: Mike Dimmick; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How to call a .dll from wix with arguments? Does this mean I have to use only one argument by combining those two arguments?. You also said that Your custom action will have to read any other information it needs from the install database using e.g. MsiGetProperty. What is meant by that?. Can you elaborate?. Any good examples?. Thank you very much. Srini - The fish are biting. Get more visitors on your site using Yahoo! Search Marketing.- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Creating a service using WIX
I get the following error while running the .msi created by using the following code to create a service using WIX.GService.exe is the service exe file.I've copied installutillib.dll,GService.exe to the wix-binary folder(folder where candle.exe and light.exe exists)and created a service.xml file with the line given at the end http://www.nabble.com/file/p11650454/error.jpg ?xml version=1.0 encoding=UTF-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Product Id=182a4509-6086-4eed-b1e7-b155aa1e7ea5 Name=DotNetService Language=1033 Version=1.0.0.0 Manufacturer=Persistent UpgradeCode=49c8c75a-5210-4944-b2b8-69814e6a874d Package InstallerVersion=200 Compressed=yes / Media Id=1 Cabinet=WindowsServiceWixProject.cab EmbedCab=yes / Directory Id='TARGETDIR' Name='SourceDir' Directory Id='ProgramFilesFolder' Name='PFiles' Directory Id='DOTNETSERVICE' Name='DotNet' Component Id='TheService' Guid='a464e2d9-a75e-4996-9f54-fd5155c3c35a' File Id='WindowsService' Name='GService.exe' KeyPath='yes' DiskId='1' Source='GService.exe' / File Id='ConfigFile' Name='Service.xml' DiskId='1' Source='Service.xml' CompanionFile='WindowsService'/ /Component /Directory /Directory /Directory Feature Id='TheOnlyFeature' Description='Feature contains the single component' Level='1' ComponentRef Id='TheService'/ /Feature !-- Including the InstallUtilLib.dll. This file does all the works of installing the services. -- Binary Id='InstallUtil' SourceFile='InstallUtilLib.dll' / !--Write custom actions to install, uninstall, commit and rollback the changes-- CustomAction Id='InstallServiceSetProp' Property='InstallService' Value='/installtype=notransaction /action=install /LogFile= [#WindowsService] [DOTNETSERVICE]Service.xml'/ CustomAction Id='InstallService' BinaryKey='InstallUtil' DllEntry='ManagedInstall' Execute='deferred' / CustomAction Id='UnInstallServiceSetProp' Property='UnInstallService' Value='/installtype=notransaction /action=uninstall /LogFile= [#WindowsService] [DOTNETSERVICE]Service.xml'/ CustomAction Id='UnInstallService' BinaryKey='InstallUtil' DllEntry='ManagedInstall' Execute='deferred' / CustomAction Id='CommitServiceSetProp' Property='CommitService' Value='/installtype=notransaction /action=commit /LogFile= [#WindowsService] [DOTNETSERVICE]Service.xml'/ CustomAction Id='CommitService' BinaryKey='InstallUtil' DllEntry='ManagedInstall' Execute='commit' / CustomAction Id='RollbackServiceSetProp' Property='RollbackService' Value='/installtype=notransaction /action=rollback /LogFile= [#WindowsService] [DOTNETSERVICE]Service.xml'/ CustomAction Id='RollbackService' BinaryKey='InstallUtil' DllEntry='ManagedInstall' Execute='rollback' / !-- Now to sequence these Custom Actions in the execute sequence -- InstallExecuteSequence Custom Action='UnInstallServiceSetProp' After='MsiUnpublishAssemblies'$TheService=2/Custom Custom Action='UnInstallService' After='UnInstallServiceSetProp'$TheService=2/Custom Custom Action='InstallServiceSetProp' After='StartServices'$TheService2/Custom Custom Action='InstallService' After='InstallServiceSetProp'$TheService2/Custom Custom Action='RollbackServiceSetProp' After='InstallService'$TheService2/Custom Custom Action='RollbackService' After='RollbackServiceSetProp'$TheService2/Custom Custom Action='CommitServiceSetProp' After='RollbackService'$TheService2/Custom Custom Action='CommitService' After='CommitServiceSetProp'$TheService2/Custom /InstallExecuteSequence /Product /Wix Service.xml contains following code ?xml version=1.0? configuration startup supportedRuntime version=v2.0.50727/ /startup /configuration would appreciate if any one can comment on this error -- View this message in context: http://www.nabble.com/Creating-a-service-using-WIX-tf4097226.html#a11650454 Sent from the wix-users mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Checkbox that won't check or un-check
On 7/16/07, Bob Arnson [EMAIL PROTECTED] wrote: Scott Palmer wrote: Microsoft certainly doesn't like to make things easy do they? I assume though that if someone in the WMF group clued in to using MSI that they might also have the foresight to provide a merge module for the redistributables. Kind of like they should have years ago. Merge modules are used less and less these days as it's not possible for the merge module provider to publish patches that update all products on a machine. I've only used merge modules to install shared components like the VC8 runtime. I assume that merge modules would update all products in the case of machine-wide shared components like that. I think the WMF redistributables are similar. And there is always hope that a future version of MSI will allow merge modules to update all products in other cases. The main point being that some sort of coherent, organized, structured install procedure - that is used consistently across MS provided components would be a great help. I was under the impression that MSI was supposed to fill that role, and then I found out after I was in too deep that MS or MS' inconsistent use of MSI (and various other installer rules) falls short of the mark. The signals sent to developers are even mixed in that regard, causing developers to make mistakes that effect other developers. (E.g. the promotion of self registration in the developer tools, and the simultaneous disclaimer that you should never use self-registration.) This has very little to do with WiX and checkboxes however :-)... except in cases where WiX can work around MSI's shortcomings for the developer... Which suggests that WiX should probably fail if a checkbox control is used without setting a CheckBoxValue attribute. A good error message could have easily provided the solution to my original problem. Maybe there was a warning.. but it was lost among the zillions of warnings caused by the VC8 merge modules - foiled by MS again. Thanks for the help everyone. Scott - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Creating a service using WIX
I get the following error while running the .msi created by using the following code to create a service using WIX.GService.exe is the service exe file.I've copied installutillib.dll,GService.exe to the wix-binary folder(folder where candle.exe and light.exe exists)and created a service.xml file with the line given at the end You should dump all the InstallUtilLib stuff and replace it with ServiceInstall and ServiceControl elements. InstallUtilLib is undocumented, unsupported and, in your case, there are better alternatives. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Feature installation condition
Take a look at the Conditional Statement Syntax http://msdn2.microsoft.com/en-us/library/aa368012.aspx featureId must be compared to a numeric value depending on what you are trying to determine. For example, the feature would be set to install if featureId = 3, where 3 is INSTALLSTATE_LOCAL. -Brian Simoneau -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Lawrence Sent: Tuesday, July 17, 2007 2:55 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Feature installation condition Hi all. Forgive me if this has been covered before, but I can find no information in the archives. I am using wix v3 (through visual studio), which admittedly may not be the best way to learn but it does seem to have a more inclusive feature set. I am trying to do a conditional reboot, depending on whether or not a certain feature (or component) is installed. Looking through google, I found that I should be able to use featureId to test for this and on the Installer SDK is a list of variables such as featureId, !featureId and $componentId, but nothing seems to do the trick. If I try this: InstallExecuteSequence ScheduleReboot After='InstallFinalize'(featureId)/ScheduleReboot /InstallExecuteSequence I get an error saying that a ';' was expected. I have tried with and without brackets. Any other variable I try, such as !featureId or !featureId=4 seems to cause a reboot whether or not I install the feature. When I try NOT !featureId it doesn't reboot no matter which feature I install. Am I doing something wrong? Thanks in advance. Lawrence - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] CustomUI change install path not possible?
Mailinglist wrote: Even if the directory changed by the user is overwritten, why are only the directorys of that one msm in user given path and all other files and dirs in the overwritten one. If the custom action overwrites the directory, it should overwrite it for all msm, shouldn' t it? That depends on the timing of the CA. Directories used as targets in merge modules need to be set early. I suggest looking at a verbose log for the CostFinalize directory dump. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Checkbox that won't check or un-check
Scott Palmer wrote: I've only used merge modules to install shared components like the VC8 runtime. I assume that merge modules would update all products in the case of machine-wide shared components like that. Patches target specific products so they can't be used to let Microsoft, for example, ship a patch to the VC runtime that updates all products that use them. The files themselves might get updated but the products won't so you can end up in an inconsistent state after a repair, for example. I was under the impression that MSI was supposed to fill that role, and then I found out after I was in too deep that MS or MS' inconsistent use of MSI (and various other installer rules) falls short of the mark. The rules are fairly simple: Use MSI for everything that isn't an OS component. Which suggests that WiX should probably fail if a checkbox control is used without setting a CheckBoxValue attribute. Please file a feature request so we don't lose it. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Feature installation condition
Lawrence wrote: InstallExecuteSequence ScheduleReboot After='InstallFinalize'(featureId)/ScheduleReboot /InstallExecuteSequence I get an error saying that a ';' was expected. First, you need to compare the feature action state to some value. 3 means being installed locally. Second, the ampersand is an special character in XML; you can use ![CDATA[featureId=3]] or amp;featureId=3 -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] minor Updates
Frédéric Viollet wrote: Is there a way to perform a minor update without having to add on the command line REINSTALL=ALL REINSTALLMODE=vomus ??? No. If you want to be able to double-click a package to get an upgrade, it's got to be a major upgrade MSI package or a bootstrapper .exe that knows how to install a minor upgrade. The current WiX setupexe bootstrapper supports minor upgrades. I have described a custom UI. In this dialog box, I ask for some configuration properties. Is there a way to make this dialog box appear in update mode? Yes, just include it in the normal Back/Next button control events in your UI authoring. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] InstallExecuteSequence: checking mode
Craig Ward wrote: I have an InstallExecuteSequence block, within which I currently run actions depending on whether the installation is installing or removing. I'd like to extend the installing condition to include the Change/Repair modes that are available in the maintenance dialog. Those UI properties aren't available during InstallExecuteSequence. I'd suggest looking at feature action states instead of global properties. So if you want to run an action whenever a certain feature is installed or is being repaired, use a condition of featureId=3 OR !featureId=3. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to refer to an env.var for install location?
Onur Simsek wrote: I am writing a plugin and I need help in getting an environment variable's value and install my plugin to that directory. My env.var is % AppinstallDir%. This variable contains the full path of the application. So I am accessing to the value using *$(env.AppinstallDir) * Directory Id =' AppInstallDir' Name='AppIns' LongName='$(env.AppinstallDir ) ' Component Id =' PlugIn' Guid='----1' … All $(...) are preprocessor variables and are resolved at build time, not install time. MSI requires that directories be statically named, so it doesn't support environment variables. You need to use a custom action to set the directory name at install time. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] InstallExecuteSequence: checking mode
You don't need to use square brackets in the condition because properties are automatically resolved. -Brian Simoneau -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Craig Ward Sent: Tuesday, July 17, 2007 9:24 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] InstallExecuteSequence: checking mode I have an InstallExecuteSequence block, within which I currently run actions depending on whether the installation is installing or removing. I'd like to extend the installing condition to include the Change/Repair modes that are available in the maintenance dialog. I'm trying this but with no success: InstallExecuteSequence Custom Action=MyCleanup After=InstallInitialize Installed AND REMOVE /Custom Custom Action=MySetup After=InstallFinalize NOT Installed OR ([WixUI_Mode] = Change) OR ([WixUI_Mode] = Repair) /Custom /InstallExecuteSequence Any ideas? - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] minor Updates
Bob Arnson a écrit : Frédéric Viollet wrote: Is there a way to perform a minor update without having to add on the command line REINSTALL=ALL REINSTALLMODE=vomus ??? No. If you want to be able to double-click a package to get an upgrade, it's got to be a major upgrade MSI package or a bootstrapper .exe that knows how to install a minor upgrade. The current WiX setupexe bootstrapper supports minor upgrades. Ok.Thanks. Is there a documentation somewhere on how to use the setupexe bootstrapper? I have described a custom UI. In this dialog box, I ask for some configuration properties. Is there a way to make this dialog box appear in update mode? Yes, just include it in the normal Back/Next button control events in your UI authoring. I tried to add Publish Dialog=ResumeDlg Control=Install Event=NewDialog Value=ChoosePortDlg1/Publish to my UI element where ChoosePortDlg is my custom dialog, but the dialog still doesn't appear. What am I doing wrong? Thanks again. Fred begin:vcard fn;quoted-printable:Fr=C3=A9d=C3=A9ric Viollet n;quoted-printable:Viollet;Fr=C3=A9d=C3=A9ric org:Bull, Architect of an Open World (TM);Evidian S.A. adr;quoted-printable:;;Rue Jean Jaur=C3=A8s;Les Clayes Sous Bois;;78340;France email;internet:[EMAIL PROTECTED] title:Software Engineer tel;work:01 30 80 77 34 url:http://www.evidian.com - http://www.bull.com version:2.1 end:vcard - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to refer to an env.var for install location?
thanks for the reply. I assume using a custom action to set a value of the install directory is easy:) Thanks again Onur On 7/17/07, Bob Arnson [EMAIL PROTECTED] wrote: Onur Simsek wrote: I am writing a plugin and I need help in getting an environment variable's value and install my plugin to that directory. My env.var is %AppinstallDir%. This variable contains the full path of the application. So I am accessing to the value using *$(env.AppinstallDir) * Directory Id =' AppInstallDir' Name='AppIns' LongName='$( env.AppinstallDir ) ' Component Id =' PlugIn' Guid='----1' … All $(...) are preprocessor variables and are resolved at build time, not install time. MSI requires that directories be statically named, so it doesn't support environment variables. You need to use a custom action to set the directory name at install time. -- sig://boBhttp://joyofsetup.com/ -- Onur Simsek Fear gives me wings - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] i need help on this. i posted it earlier also.i m unable to resolve this error
Microsoft (R) Windows Installer Xml Linker version 2.0.5325.0 Copyright (C) Microsoft Corporation 2003. All rights reserved. light.exe : error LGHT0001 : Index was outside the bounds of the array. Exception Type: System.IndexOutOfRangeException Stack Trace: at Microsoft.Tools.WindowsInstallerXml.Linker.Link(Intermediate[] intermediates) at Microsoft.Tools.WindowsInstallerXml.Tools.Light.Run(String[] args) -- View this message in context: http://www.nabble.com/i-need-help-on-this.-i-posted-it-earlier-also.i-m-unable-to-resolve-this-error-tf4097667.html#a11651977 Sent from the wix-users mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] install dir in merge modules
Hi everyone, I've got a question about merge modules. I've written a merge module and I would like the files of the merge module to install themselves in the directory that the user selects while installing the main package. Example: *Merge Module: Program Files My Product bin ApmFile.dll *Product Program Files Alternate Product Dir-- the user selected a different directory than My Product2 bin amEngine.exe --I would like ApmFile to be installed in the same directory (ie : Program Files - Alternate Product Dir - bin) Is there a way to achieve this? Here's my merge module: ?xml version=1.0 encoding=utf-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Module Id=Module_Test Language=1033 Version=$(var.MY_PRODUCT_FILEVERSION_STRING) Package Id=504C56F7-1374-424F-B624-157E502CB661 Description='My Product' Manufacturer=$(var.MY_COMPANYNAME_STRING) / Directory Id=TARGETDIR Name=SourceDir Directory Id='ProgramFilesFolder' Name='PFiles' Directory Id=MyProduct Name=My Product Directory Id=WIXUI_INSTALLDIR Name=The Api Directory Id=bin Name=bin Component Id=MY_PRODUCT_API_MAIN Guid=DC8244DB-25AD-402B-8691-2061797709B1 File Id=ApiFile.dll Name=ApiFile.dll Source=$(var.FACT_DESTDIR)\shared_lib\ApiFile.dll KeyPath=yes / /Component /Directory /Directory /Directory /Directory /Directory /Module /Wix The Product wxs goes this way: ?xml version=1.0 encoding=utf-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Product Id=83D19A5A-3579-2740-8989-626BC62A66F5 Language=1033 Manufacturer=$(var.MY_COMPANYNAME_STRING) Name=My Product2 $(var.MY_PRODUCT_PRODUCTVERSION_STRING) Version=$(var.MY_PRODUCT_FILEVERSION_STRING) UpgradeCode='1F60EB8D-A0A4-4224-BF1E-C66E3F9CC35E' Package Description='Engine Installer' Compressed=yes / Upgrade Id='1F60EB8D-A0A4-4224-BF1E-C66E3F9CC35E' UpgradeVersion OnlyDetect='yes' Property='PATCHFOUND' IncludeMinimum='yes' Minimum='7.17.001.1' / /Upgrade InstallExecuteSequence RemoveExistingProducts After=FindRelatedProducts / /InstallExecuteSequence Media Id=1 Cabinet=product.cab EmbedCab=yes / Directory Id=TARGETDIR Name=SourceDir Directory Id='ProgramFilesFolder' Name='PFiles' Directory Id=MyCompany Name=MyCompany Directory Id=IAM Name=IAM Directory Id=MyProduct2 Name=My Product2 Directory Id=APM_ENGINE_INSTALLDIR Name=Engine Directory Id=bin Name=bin Merge Id=Module_Test.504C56F7-1374-424F-B624-157E502CB661 Language=1033 SourceFile=MyModule.msm DiskId=1 / Component Id=APM_ENGINE_MAIN Guid=FC95C3A7-085E-4EF5-8018-6E0CDA2A4085 File Id=amengine.exe Name=amengine.exe Source=$(var.FACT_DESTDIR)\bin\amengine.exe KeyPath=yes / /Component /Directory /Directory /Directory /Directory /Directory /Directory /Directory UI / Property Id=WIXUI_INSTALLDIR Value=APM_ENGINE_INSTALLDIR / Property Id=PORTNUMBER Value=4200 / UIRef Id=APM_EngineUI / UIRef Id=WixUI_ErrorProgressText / Feature Id=Engine Level=1 Display=expand Title=Engine Description=Engine ComponentRef Id=APM_ENGINE_MAIN / MergeRef Id=Module_Test.504C56F7-1374-424F-B624-157E502CB661 / /Feature /Product /Wix begin:vcard fn;quoted-printable:Fr=C3=A9d=C3=A9ric Viollet n;quoted-printable:Viollet;Fr=C3=A9d=C3=A9ric org:Bull, Architect of an Open World (TM);Evidian S.A. adr;quoted-printable:;;Rue Jean Jaur=C3=A8s;Les Clayes Sous Bois;;78340;France email;internet:[EMAIL PROTECTED] title:Software Engineer tel;work:01 30 80 77 34 url:http://www.evidian.com - http://www.bull.com version:2.1 end:vcard - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] one installer launches another
I know this has been asked before, but is there still no way to launch another installer from another. Apparently, for msxml60, Microsoft has abandoned the merge module approach and is only distributing an msi which they recommend you launch silently from you current installer. I would like to do that if possible. Or do I have to write a bootstrapper exe? - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] one installer launches another
You have to use a bootstrapper, you don't have to write one. Take a look at the GenerateBootstrapper task or dotNetInstaller or NSIS. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Tuesday, July 17, 2007 11:31 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] one installer launches another I know this has been asked before, but is there still no way to launch another installer from another. Apparently, for msxml60, Microsoft has abandoned the merge module approach and is only distributing an msi which they recommend you launch silently from you current installer. I would like to do that if possible. Or do I have to write a bootstrapper exe? - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to call a .dll from wix with arguments?
I followed the first example and I am not getting the value into a control. Here is what I did: Binary Id='WixLicense' src='wix_license_dll.dll'/ CustomAction Id=SetCDKey Property=CDKEY Value=[PIDKEY] / CustomAction Id='create_license_file_from_cdkey' BinaryKey='WixLicense' DllEntry='create_license_file_from_cdkey' Execute='immediate' Return='check'/ My installation sequence: InstallExecuteSequence RemoveExistingProducts After=InstallFinalize / Custom Action=SetCDKey After=AppSearch / Custom Action='create_license_file_from_cdkey' After=SetCDKey / /InstallExecuteSequence I want to get the CDKEY value to test before actually running dll. However, my control does not fill with CDKEY. Here is the control tag. Control Id=ProductIdLabelValue Type=Text X=80 Y=200 Width=120 Height=18 Text=[CDKEY] / What am I doing wrong here. My execution sequence is wrong?. If so,how should I execute and what modifications should I do for my execute sequence. Srini Ian Stevenson [EMAIL PROTECTED] wrote: Hi Srini, The idea is that you don't explicitly pass any arguments to the function call (the only argument being the MSI handle that get's set by the installer), instead they are passed by a process of the installer setting up the necessary properties before the custom action is executed. Then within the DLL's function you make calls to MsiGetProperty() to get the arguments and do your processing. In a similar way, if you need some OUT arguments you use MsiSetProperty. If you google for MsiGetProperty you will find many examples (some not wix specific, but it does not matter), but here are some starting points for you: http://msdn2.microsoft.com/En-US/library/aa370134.aspx http://www.wixwiki.com/index.php?title=Simple_Custom_Action_Dll That should get you started, plus it seems there are some threads in the archive for this mailing list, so you should be able to find some tips searching through that as well. Good luck, Ian. - From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of srinivas nomu Sent: Tuesday, 17 July 2007 7:37 AM To: Mike Dimmick; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How to call a .dll from wix with arguments? Does this mean I have to use only one argument by combining those two arguments?. You also said that Your custom action will have to read any other information it needs from the install database using e.g. MsiGetProperty. What is meant by that?. Can you elaborate?. Any good examples?. Thank you very much. Srini - TV dinner still cooling? Check out Tonight's Picks on Yahoo! TV.- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] light.exe : error LGHT0001 : Index was outside the bounds of the array.
That's really not a very helpful message, is it? Could you post the command line you passed to light? Does this always happen with all installers or is this only happening with one? Does it still occur with an older version of WiX? (e.g. 2.0.5213.0, available from http://wix.sourceforge.net/releases/) Another thing you can try is to build a debug build from source. The PDB files should allow the Framework to put line number information in the stack trace. -- Mike Dimmick -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of shambhu kumar Sent: 17 July 2007 11:28 To: wix-users@lists.sourceforge.net Subject: [WiX-users] light.exe : error LGHT0001 : Index was outside the bounds of the array. Microsoft (R) Windows Installer Xml Linker version 2.0.5325.0 Copyright (C) Microsoft Corporation 2003. All rights reserved. light.exe : error LGHT0001 : Index was outside the bounds of the array. Exception Type: System.IndexOutOfRangeException Stack Trace: at Microsoft.Tools.WindowsInstallerXml.Linker.Link(Intermediate[] intermediates) at Microsoft.Tools.WindowsInstallerXml.Tools.Light.Run(String[] args) -- View this message in context: http://www.nabble.com/light.exe-%3A-error-LGHT0001-%3A-Index-was-outside-the -bounds-of-the-array.-tf4096009.html#a11646758 Sent from the wix-users mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] minor Updates
Doesn't a patch effectively turn into a minor upgrade, or have I misunderstood this? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bob Arnson Sent: 17 July 2007 15:42 To: Frédéric Viollet Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] minor Updates Frédéric Viollet wrote: Is there a way to perform a minor update without having to add on the command line REINSTALL=ALL REINSTALLMODE=vomus ??? No. If you want to be able to double-click a package to get an upgrade, it's got to be a major upgrade MSI package or a bootstrapper .exe that knows how to install a minor upgrade. The current WiX setupexe bootstrapper supports minor upgrades. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] How to call an exe
I really fed up working with .dll as there is no debug available. Now I created an .exe with the same code. From the command line the usage is as folows: write.lic.exe 61177-1128925439-1187326800 9.0 I need to pass the CD-Label key in the first argument and the version as second argument. I wrote the wix tag as follows: Binary Id='WixLicense' SourceFile=write_lic.exe/ CustomAction Id='createLicense' BinaryKey=write_lic.exe ExeCommand= ' 61177-1128925439-1187326800 9.0 ' Execute=commit Return=ignore/ the sequence as follows: InstallExecuteSequence RemoveExistingProducts After=InstallFinalize / Custom Action= createLicense After=InstallFinalize / /InstallExecuteSequence It compiles fine and links fine. When I execute the msi installer crashes. I donot know what is happening here. Please somebody help me. Also, do I need to use Binarykey Or FileKey in Custom Action? and what is the difference between the two. CustomAction Id='createLicense' BinaryKey=write_lic.exe ExeCommand= ' 61177-1128925439-1187326800 9.0 ' Execute=commit Return=ignore/ Thanks Srini - Park yourself in front of a world of choices in alternative vehicles. Visit the Yahoo! Auto Green Center.- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to call an exe
Binary Key - takes a binary tag with a dll/exe and will run it without extracting/installing it (the Binary is only valid at installtime) File key - an extracted file that you need to access at install time also. This file will also be available after installation as per your file tag. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of srinivas nomu Sent: Tuesday, July 17, 2007 2:33 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] How to call an exe I really fed up working with .dll as there is no debug available. Now I created an .exe with the same code. From the command line the usage is as folows: write.lic.exe 61177-1128925439-1187326800 9.0 I need to pass the CD-Label key in the first argument and the version as second argument. I wrote the wix tag as follows: Binary Id='WixLicense' SourceFile=write_lic.exe/ CustomAction Id='createLicense' BinaryKey=write_lic.exe ExeCommand= ' 61177-1128925439-1187326800 9.0 ' Execute=commit Return=ignore/ the sequence as follows: InstallExecuteSequence RemoveExistingProducts After=InstallFinalize / Custom Action= createLicense After=InstallFinalize / /InstallExecuteSequence It compiles fine and links fine. When I execute the msi installer crashes. I donot know what is happening here. Please somebody help me. Also, do I need to use Binarykey Or FileKey in Custom Action? and what is the difference between the two. CustomAction Id='createLicense' BinaryKey=write_lic.exe ExeCommand= ' 61177-1128925439-1187326800 9.0 ' Execute=commit Return=ignore/ Thanks Srini Park yourself in front of a world of choices in alternative vehicles. Visit the Yahoo! Auto Green Center.http://us.rd.yahoo.com/evt=48246/*http:/autos.yahoo.com/green_center/;_ylc=X3oDMTE5cDF2bXZzBF9TAzk3MTA3MDc2BHNlYwNtYWlsdGFncwRzbGsDZ3JlZW4tY2VudGVy - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to call an exe
But how should I call an exe with arguments?. Any Idea. I serached on web and could not find proper documents. Please anybody know help. Srini Pierson Lee (Volt) [EMAIL PROTECTED] wrote: v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} Binary Key - takes a binary tag with a dll/exe and will run it without extracting/installing it (the Binary is only valid at installtime) File key - an extracted file that you need to access at install time also. This file will also be available after installation as per your file tag. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of srinivas nomu Sent: Tuesday, July 17, 2007 2:33 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] How to call an exe I really fed up working with .dll as there is no debug available. Now I created an .exe with the same code. From the command line the usage is as folows: write.lic.exe 61177-1128925439-1187326800 9.0 I need to pass the CD-Label key in the first argument and the version as second argument. I wrote the wix tag as follows: Binary Id='WixLicense' SourceFile=write_lic.exe/ CustomAction Id='createLicense' BinaryKey=write_lic.exe ExeCommand= ' 61177-1128925439-1187326800 9.0 ' Execute=commit Return=ignore/ the sequence as follows: InstallExecuteSequence RemoveExistingProducts After=InstallFinalize / Custom Action= createLicense After=InstallFinalize / /InstallExecuteSequence It compiles fine and links fine. When I execute the msi installer crashes. I donot know what is happening here. Please somebody help me. Also, do I need to use Binarykey Or FileKey in Custom Action? and what is the difference between the two. CustomAction Id='createLicense' BinaryKey=write_lic.exe ExeCommand= ' 61177-1128925439-1187326800 9.0 ' Execute=commit Return=ignore/ Thanks Srini - Park yourself in front of a world of choices in alternative vehicles. Visit the Yahoo! Auto Green Center. - Get the free Yahoo! toolbar and rest assured with the added security of spyware protection. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to call an exe
I think I will use Binarykey as this file is only needed at install time which generates an unique license file. After that the purpose is nill for this file. Srini But how should I call an exe with arguments?. Any Idea. I serached on web and could not find proper documents. Please anybody know help. Srini Pierson Lee (Volt) [EMAIL PROTECTED] wrote: v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} Binary Key - takes a binary tag with a dll/exe and will run it without extracting/installing it (the Binary is only valid at installtime) File key - an extracted file that you need to access at install time also. This file will also be available after installation as per your file tag. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of srinivas nomu Sent: Tuesday, July 17, 2007 2:33 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] How to call an exe I really fed up working with .dll as there is no debug available. Now I created an .exe with the same code. From the command line the usage is as folows: write.lic.exe 61177-1128925439-1187326800 9.0 I need to pass the CD-Label key in the first argument and the version as second argument. I wrote the wix tag as follows: Binary Id='WixLicense' SourceFile=write_lic.exe/ CustomAction Id='createLicense' BinaryKey=write_lic.exe ExeCommand= ' 61177-1128925439-1187326800 9.0 ' Execute=commit Return=ignore/ the sequence as follows: InstallExecuteSequence RemoveExistingProducts After=InstallFinalize / Custom Action= createLicense After=InstallFinalize / /InstallExecuteSequence It compiles fine and links fine. When I execute the msi installer crashes. I donot know what is happening here. Please somebody help me. Also, do I need to use Binarykey Or FileKey in Custom Action? and what is the difference between the two. CustomAction Id='createLicense' BinaryKey=write_lic.exe ExeCommand= ' 61177-1128925439-1187326800 9.0 ' Execute=commit Return=ignore/ Thanks Srini - Park yourself in front of a world of choices in alternative vehicles. Visit the Yahoo! Auto Green Center. - Need a vacation? Get great deals to amazing places on Yahoo! Travel. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to call an exe
I see you've already gone down the exe path somewhat, but I would like to point out that you can debug MSI DLLs - just not via the debugger (albeit maybe you can, as the links below made mention of info in MSI.chm, but I believe it is meant to be a lot of effort). You need to rely on other debugging methods such as logging. You could do this by just using message boxes if you don't require too much, or you could write a simple log file system, or finally you could output logging information to the normal msiexec.exe log mechanism. The last is my preference so here are some links for future reference: http://community.macrovision.com/archive/index.php?t-97544.html http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1665655SiteID=1 http://www.codeproject.com/install/msicustomaction.asp?df=100forumid=31 59exp=0select=2114040 Anyway, if you search for MsiRecordSetString and logging you should be well on your way. I've got a function that does exactly this in one of my custom action dlls, and it proved invaluable. As for you how to pass command line options dynamically for your exe in WiX, I've not done that. I wonder if you can just use [PROPERTYNAME] for the command line arguments and it interpolates them. Good luck, Ian. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of srinivas nomu Sent: Wednesday, 18 July 2007 7:33 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] How to call an exe I really fed up working with .dll as there is no debug available. Now I created an .exe with the same code. snip - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Reboot during Copying Files stage
Hi all, Has anyone seen this Windows Installer behavior before? 1) Launch installer, proceed to Copying Files stage. 2) Reboot computer in the middle of copying files 3) Relaunch installer again. 4) Installer will freeze for awhile in the EULA screen (and sometimes it freezes to death). The workaround is, before launching installer, manually remove the folder with files that have been installed with previous installation. Here is the verbose log of the second install attempt. Notice there is a 38 second hang at the line : MSI (c) (44:78) [16:43:58:779]: PROPERTY CHANGE: Modifying CostingComplete property. Its current value is '0'. Its new value: '1'. MSI (c) (44:9C) [16:43:19:951]: Invoking remote custom action. DLL: C:\DOCUME~1\xyz\LOCALS~1\Temp\MSI11.tmp, Entrypoint: CaCheckFlashShockWaveVersions MSI (c) (44:D0) [16:43:19:967]: Cloaking enabled. MSI (c) (44:D0) [16:43:19:967]: Attempting to enable all disabled priveleges before calling Install on Server MSI (c) (44:D0) [16:43:19:967]: Connected to service for CA interface. Action ended 16:43:20: CheckFlashShockWaveVersions. Return value 1. MSI (c) (44:10) [16:43:20:186]: Doing action: WelcomeEulaDlg Action 16:43:20: WelcomeEulaDlg. Action start 16:43:20: WelcomeEulaDlg. Info 2898.WixUI_Font_Title, Tahoma, 0 Action 16:43:20: WelcomeEulaDlg. Dialog created MSI (c) (44:78) [16:43:20:561]: Note: 1: 2205 2: 3: _RemoveFilePath MSI (c) (44:78) [16:43:58:779]: PROPERTY CHANGE: Modifying CostingComplete property. Its current value is '0'. Its new value: '1'. MSI (c) (44:78) [16:43:58:779]: Note: 1: 2205 2: 3: BindImage MSI (c) (44:78) [16:43:58:779]: Note: 1: 2205 2: 3: ProgId MSI (c) (44:78) [16:43:58:779]: Note: 1: 2205 2: 3: PublishComponent MSI (c) (44:78) [16:43:58:779]: Note: 1: 2205 2: 3: SelfReg MSI (c) (44:78) [16:43:58:779]: Note: 1: 2205 2: 3: Extension MSI (c) (44:78) [16:43:58:779]: Note: 1: 2205 2: 3: Font MSI (c) (44:78) [16:43:58:779]: Note: 1: 2205 2: 3: Class MSI (c) (44:78) [16:43:58:779]: Note: 1: 2727 2: MSI (c) (44:78) [16:44:00:154]: PROPERTY CHANGE: Adding LicenseAccepted property. Its value is '1'. MSI (c) (44:78) [16:44:01:013]: Doing action: SetLaunchOOO Action 16:44:01: SetLaunchOOO. We don't have DisableRollBack in our wix code. Any suggestion is highly appreciated. Thanks, Shirley - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to call an exe
Ian Stevenson wrote: I see you've already gone down the exe path somewhat, but I would like to point out that you can debug MSI DLLs - just not via the debugger (albeit maybe you can, as the links below made mention of info in MSI.chm, but I believe it is meant to be a lot of effort). It's not that bad. The easiest way is to include a conditional MessageBox call then, when it's visible and therefore blocking, use your debugger to attach to the msiexec.exe process that's showing the message box. Anyway, if you search for MsiRecordSetString and logging you should be well on your way. I've got a function that does exactly this in one of my custom action dlls, and it proved invaluable. You can simplify that using WcaLog in WiX's wcautil.lib. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] problem scheduling custom actions
Scott Sam wrote: So I did the sn -Vr *,36e4ce08b8ecfb17 thing, then I built wix using the make.bat file. I still couldn't just throw in the files that I had changed, so I uninstalled WiX and reinstalled it using the wix3.msi file created when I built wix. That worked on the machine I had built it on. After I reinstalled Wix on our build machine using the same msi, but now when I try to run heat I get the following error: sn -Vr *,36e4ce08b8ecfb17 Any ideas at what I'm doing wrong? You need to do the same 'sn' command line on any machine that runs private builds of WiX. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Failed to run msi in Vista. How can make CA DEP compatible?
Please keep /wix-users/ on the thread. Hao Liu wrote: When I run the msiexec 4.0 on vista to install the msi, I found the process running as a medium-level process instead of high-level process, and I even could not create application folder under C:\Program Files, and also it did not have permission to write to HKLM\software\... But my logon account is an Administrator? There is no any UAC dialog prompted up when I run the msi. In addition, I could not use Runas to install the msi. To get elevated, custom actions must be marked Execute=deferred and Impersonate=no -- any other combo and they run as the user with the user's privileges. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] minor Updates
Frédéric Viollet wrote: Ok.Thanks. Is there a documentation somewhere on how to use the setupexe bootstrapper? Not really, no. Here's the command line I use to build one: %WIX%\setupbld -out %DIR%\foo.exe -mcsp %DIR%\foo.msi -setup %WIX%\setup.exe Publish Dialog=ResumeDlg Control=Install Event=NewDialog Value=ChoosePortDlg1/Publish to my UI element where ChoosePortDlg is my custom dialog, but the dialog still doesn't appear. What am I doing wrong? If ResumeDlg is the WixUI version, the Install control is a button that publishes a bunch of other installation control events and you won't be able to insert a control event there. You need to use another control or dialog. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] minor Updates
Mike Dimmick wrote: Doesn't a patch effectively turn into a minor upgrade, or have I misunderstood this? Generally, patches are run from a bootstrapper to get a better UI experience but it's possible to use them as a double-clickable minor upgrade, yes. Minor upgrades are just new packages that follow certain rules and are installed by re-caching the local package. Patches can be any kind of update: small, minor, or major (though major upgrades via patching isn't recommended). -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Reboot during Copying Files stage
Man, Shirley wrote: The workaround is, before launching installer, manually remove the folder with files that have been installed with previous installation. Here is the verbose log of the second install attempt. Notice there is a 38 second hang at the line : MSI (c) (44:78) [16:43:58:779]: PROPERTY CHANGE: Modifying CostingComplete property. Its current value is '0'. Its new value: '1'. How many files are in your package? How many components? Costing takes time and takes more time if MSI has to examine installed files to determine whether they need to be overwritten, instead of just noticing that they don't exist. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users