Re: [WiX-users] pre-defined variables?
Mark, My favorite trick is to run an existing or very basic .msi with full logging. Then you can search the log file for Property(C) and/or Property(S). To run with full logging, run from a command line: MyMsi.msi /lv*x MyMsiLog.txt There is also actual documentation: http://msdn2.microsoft.com/en-us/library/aa370905.aspx http://msdn2.microsoft.com/en-us/library/aa372057.aspx And a place I've been collecting information: http://wix.mindcapers.com/wiki/WiX_Properties Julie Campbell [EMAIL PROTECTED] -- Message: 2 Date: Tue, 29 Jan 2008 13:16:16 -0500 From: mark.modrall [EMAIL PROTECTED] Subject: [WiX-users] pre-defined variables? To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii Hi... I've been googling around to find a list of pre-defined variables that exist in Wix (any pre-existing $(var.) or $(env.) like VS has $(outdir), $(configurationname), etc), but so far no luck. Does such a reference exist? thanks mark _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] LGHT0095 error with FeatureRef
Kevin, I've not used WiX v2, but the usage of the FeatureRef element below is incorrect, whether you or the converter authored it. FeatureRef is for referencing a feature defined in a different fragment. How about this replacement: Feature Id=OnlyFeature Title=Feature Level=1 ConfigurableDirectory=INSTALLDIR Absent=disallow / FeatureRef Id=OnlyFeature ComponentRef Id=File1.exe / ComponentRef Id=File1.dll / ComponentRef Id=File2.dll / ComponentRef Id=File3.dll / ComponentRef Id=InstallerCache / /FeatureRef Feature Id=OnlyFeature Title=Feature Level=1 ConfigurableDirectory=INSTALLDIR Absent=disallow / ComponentRef Id=File1.exe / ComponentRef Id=File1.dll / ComponentRef Id=File2.dll / ComponentRef Id=File3.dll / ComponentRef Id=InstallerCache / /Feature Perhaps this is a v2/v3 nuance? Julie Campbell [EMAIL PROTECTED] -Original Message- Message: 7 Date: Sat, 12 Jan 2008 11:28:46 -0800 From: Kevin Richardson [EMAIL PROTECTED] Subject: Re: [WiX-users] LGHT0095 error with FeatureRef To: Bob Arnson [EMAIL PROTECTED] Cc: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii Hey Bob, There are no fragments. The section I included is all there is to it. This is the entirety of the components/features/directories/etc.: ?xml version=1.0 encoding=utf-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; ?include FileCache\ProductInfo.wxi? Product Id=$(var.ProductCode) Name=$(var.ProductName) Version=$(var.ProductVersion) UpgradeCode=$(var.UpgradeCode) Manufacturer=$(var.ProductManufacturer) Language=$(env.langid) Package Description=!(loc.INSTALLER_DESCRIPTION) Comments=$(var.ProductName) $(var.ProductVersion) Manufacturer=$(var.ProductManufacturer) InstallerVersion=200 Platform=intel Compressed=yes Languages=$(var.LanguageNeutral)$(var.ProductLanguages) SummaryCodepage=!(loc.CODEPAGE) Keywords=Installer,MSI,Database / Directory Id=TARGETDIR Name=SourceDir Directory Id=ProgramFilesFolder Name=Program Files Directory Id=InstallFolder Name=Install Folder Directory Id=INSTALLDIR / /Directory /Directory Directory Id=ProgramMenuFolder Name=Programs / Directory Id=CommonAppDataFolder Name=Application Data Directory Id=VendorCommonAppDataFolder Name=Vendor Directory Id=CachedInstallationsFolder Name=Installer Cache Directory Id=INSTALLERCACHE Name=Program $ (var.ProductVersion) / /Directory /Directory /Directory /Directory Feature Id=OnlyFeature Title=Feature Level=1 ConfigurableDirectory=INSTALLDIR Absent=disallow / !-- Components -- DirectoryRef Id=INSTALLDIR Component Id=File1.dll Guid=GUID1 DiskId=1 File Id=File1.dll Name=File1.dll KeyPath=yes SelfRegCost=4096 Source=Program Files\Program\File1.dll / /Component Component Id=File2.dll Guid=GUID2 DiskId=1 File Id=File2.dll Name=File2.dll KeyPath=yes SelfRegCost=4096 Source=Program Files\Program\File2.dll / /Component Component Id=File3.dll Guid=GUID4 DiskId=1 File Id=File3.dll Name=File3.dll KeyPath=yes Source=Program Files\Program\File3.dll / /Component Component Id=File1.exe Guid=GUID3 DiskId=1 File Id=File1.exe Name=File1.exe KeyPath=yes Source=Program Files\Progam\File1.exe / Shortcut Id=Shortcut Directory=ProgramMenuFolder Name=Program Advertise=yes Icon=Icon.exe / /Component /DirectoryRef DirectoryRef Id=INSTALLERCACHE Component Id=InstallerCache Guid=GUID4 KeyPath=yes Condition![CDATA[NOT DONTCACHEMSI]]/Condition CreateFolder / CopyFile Id=Program.msi SourceProperty=SourceDir SourceName=Program.msi DestinationDirectory=INSTALLERCACHE / RemoveFile Id=Program.msi Directory=INSTALLERCACHE Name=Program.msi On=uninstall / RemoveFolder Id=INSTALLERCACHE Directory=INSTALLERCACHE On=uninstall / /Component /DirectoryRef FeatureRef Id=OnlyFeature ComponentRef Id=File1.exe / ComponentRef Id=File1.dll / ComponentRef Id=File2.dll / ComponentRef Id=File3.dll / ComponentRef Id=InstallerCache / /FeatureRef /Product /Wix On Jan 12, 2008, at 11:07 AM, Bob Arnson wrote: Kevin Richardson wrote: I'm sure I've just missed something simple because I find it hard to believe that FeatureRef/ComponentRef isn't valid anymore. This is wix-3.0.3711.0. Yes it's supported. Without both sections (e.g., Product
Re: [WiX-users] LGHT0095 error with FeatureRef
Kevin, You might want to make use of fragments if the file names are localized or use localization files if appropriate. I'm not sure what you are trying to accomplish so it's hard to provide an example. There is some documentation on localization files at http://wix.mindcapers.com/wiki/Localization, might be worth a look. Julie Campbell [EMAIL PROTECTED] -Original Message- From: Kevin Richardson [mailto:[EMAIL PROTECTED] Sent: Monday, January 14, 2008 12:12 AM To: [EMAIL PROTECTED] Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] LGHT0095 error with FeatureRef Thanks Julie. The example you gave is what I fell back on. Unfortunately, we pull in (localized) files dynamically and those tools make heavy use of the FeatureRef/ComponentRef structure that apparently only works in WiX2. I believe Bob's webpage mentioned adding support for Component Id=blah ... Feature=feature/ so hopefully I can just make use of that instead. -kevin On Jan 13, 2008, at 8:45 PM, Julie Campbell wrote: Kevin, I've not used WiX v2, but the usage of the FeatureRef element below is incorrect, whether you or the converter authored it. FeatureRef is for referencing a feature defined in a different fragment. How about this replacement: Feature Id=OnlyFeature Title=Feature Level=1 ConfigurableDirectory=INSTALLDIR Absent=disallow / FeatureRef Id=OnlyFeature ComponentRef Id=File1.exe / ComponentRef Id=File1.dll / ComponentRef Id=File2.dll / ComponentRef Id=File3.dll / ComponentRef Id=InstallerCache / /FeatureRef Feature Id=OnlyFeature Title=Feature Level=1 ConfigurableDirectory=INSTALLDIR Absent=disallow / ComponentRef Id=File1.exe / ComponentRef Id=File1.dll / ComponentRef Id=File2.dll / ComponentRef Id=File3.dll / ComponentRef Id=InstallerCache / /Feature Perhaps this is a v2/v3 nuance? __ ___ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com __ ___ _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Determining bootstrapper temporary directory name?
Not technically a wix question, but this is the most likely group of persons to know the answer... I have a bootstrapper for which one of the third party prerequisites requires a reboot. It does not resume the bootstrapper setup.exe after the restart. I have a kludgey workaround executable to write a RunOnce entry to restart the bootstrapper. I am using the Win32 GetCurrentDirectory (MFC statically linked) call to get the path. Unfortunately, it gives me the original path setup.exe was run from rather than the temp directory that everything got copied to. The temp directory is the TEMP or TMP env variable path + ???. It seems to be VSDunique.tmp. Without parsing the entire temp directory and taking the VSDunique.tmp directory with the newest timestamp, is there a way to determine this programmatically? Julie Campbell [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Invoking a batch file using wix
See this example, .zip file with sources: http://wix.mindcapers.com/wiki/CANotepadTest_Example Replace notepad.exe with you batch file. Julie Campbell [EMAIL PROTECTED] -Original Message- Message: 3 Date: Sun, 23 Dec 2007 21:00:14 -0800 (PST) From: jenefer [EMAIL PROTECTED] Subject: [WiX-users] Invoking a batch file using wix To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii I have to invoke a batch file which is there in my system through wix, without installing the batch file prior to the invokation(that is without installing the batch file using wix)...Can you suggest me some way to do this? Can you please sent a source code of the solution as i am new to wix. This is urgent. _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Wiki at wix.mindcapers.com
I own and maintain a wiki devoted to WiX at http://wix.mindcapers.com I have just done some captcha work to avoid spam and have re-enabled automatic account creation. Until you are a trusted user (known human), you will be required to answer the captcha question for every edit you make. I patrol the recent edits regularly and will manually set your trusted status as soon as I notice you've made a real contribution. It doesn't have to be big or even significant, just enough for me to tell that you require oxygen. ;) I've went ahead and set the trusted status for all the accounts I knew belongs to real live people. There is an ever-growing collection of WiX v3 knowledge on this wiki, much of it gleaned from this mailing list. The goal is to organize the wisdom so that it is easier to find than searching through old e-mail chains, especially for common issues. It is not intended to replace this mailing list of the official Source Forge site in any way, shape or form. Consider this an official invitation :) Julie Campbell [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Custom Action after XmlConfig
Component Id=C_XYZ Guid={SomeGUID} File Id=SOME_EXE Name=some.exe KeyPath=yes DiskId=1 Source=SourceDir\File\Some.exe / /Component CustomAction Id=CA_ID FileKey=SOME_EXE ExeCommand=-a -b -c Execute=deferred Impersonate=no / ... InstallExecuteSequence Custom Action=CA_ID Sequence=17511/Custom /InstallExecuteSequence Julie Campbell [EMAIL PROTECTED] -Original Message- Message: 5 Date: Tue, 11 Dec 2007 09:36:50 +0100 From: INRO\(Robert Inzinger\) [EMAIL PROTECTED] Subject: Re: [WiX-users] Custom Action after XmlConfig To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=iso-8859-1 Can you give an exsample how to call a custom action deferred? I try to set the Execute property to deferred but the custom action is never called. _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] WiX-users Digest, Vol 19, Issue 33
Chris, Your .msi failed before it ever got to your custom action. There is an XMLConfig example on my wix wiki, http://wix.mindcapers.com/wiki/XmlConfig_Example I rebuilt it and opened the .msi in Orca. XmlConfig is sequenced at 3073, just as it was for you. Your FileReplacer is after that, at 4002. Try searching for return value 3 in your log file and backtrack from there. Julie Campbell [EMAIL PROTECTED] -Original Message- -- Message: 8 Date: Tue, 11 Dec 2007 15:08:11 +0100 From: Chris [EMAIL PROTECTED] Subject: Re: [WiX-users] Custom Action after XmlConfig To: wix-users@lists.sourceforge.net Cc: [EMAIL PROTECTED], [EMAIL PROTECTED] Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=ISO-8859-1 Can you give an exsample how to call a custom action deferred? I try to set the Execute property to deferred but the custom action is never called. Component Id=C_XYZ Guid={SomeGUID} File Id=SOME_EXE Name=some.exe KeyPath=yes DiskId=1 Source=SourceDir\File\Some.exe / /Component CustomAction Id=CA_ID FileKey=SOME_EXE ExeCommand=-a -b -c Execute=deferred Impersonate=no / ... InstallExecuteSequence Custom Action=CA_ID Sequence=17511/Custom /InstallExecuteSequence I tried the same thing as Robert did and my CustomAction didnt execute as well - actually the installation ended with an error: /Binary Id=MsiTools SourceFile=MsiTools.dll/ CustomAction Id=FileReplacer BinaryKey=MsiTools DllEntry=FileReplace Execute=deferred Impersonate=no/ . . . util:XmlConfig Id=AddSomethingToXML Action=create ... / . . . InstallExecuteSequence Custom Action=FileReplacer Sequence=40021/Custom /InstallExecuteSequence /When I log the installation I noticed that there is a trace of a CustomAction ExecXmlConfig which is executed at the very end of the installation. It can be found in the CustomAction table with the type number 3073. I guess it has something to do with it!? Any ideas? Thank's Chris _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Custom Action after XmlConfig
Julie, thank's for the answer! Maybe I misunderstand something but I don't think that 3073 is the sequence number. I guess it's the Type-Number of the CustomAction and describes the Custom Action In-Script Option as shown here: http://msdn2.microsoft.com/en-us/library/aa368069.aspx My log (msiexec) shows clearly that the ExecXmlConfig is executed at the very end of the installation - I dont know the sequencenumber but I think it's higher than 4002. The thing is that I would like to execute my FileReplacer-dll right after the execution of XmlConfig, where my tags will be written into the xml-file. And I guess XmlConfig will be executed with the call of the ExecXmlConfig-target but I have no clue what the sequencenumber is since I cant find it anywhere. So I'm wondering what the sequence-number of the XmlConfig-Execution is? Any ideas? Thank's Chris Sorry, that's what I get for trying to answer a question early in the morning. You are correct, that is the custom action type, not the sequence number. Looking at my example .msi in Orca, there is a SchedXmlConfig at 4001 (still less than 4002) in the InstallExecuteSequence table (and I double checked this time.) Personally, I'd try commenting out whatever XmlConfig code you have to troubleshoot the custom action problem, or even writing a very simple test product .msi that only runs the custom action. There is an example of that on my wiki too, http://wix.mindcapers.com/wiki/CANotepadTest_Example . It runs notepad.exe, but you should be able to tweak it to run your action with little effort. Julie Campbell [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] show progress text for custom action
There is a page on my wix wiki with the DEFAULT InstallExecuteSequence values: http://wix.mindcapers.com/wiki/WiX_InstallExecuteSequence The better way to see the sequence is to open your .msi file using Orca. I believe that the properties are all set upfront, but if you need to set the value of a property to be passed to a custom action, schedule a Type 51 custom action (set property value) right before it: InstallExecuteSequence Custom Action=CA_SET_PROPERTY After=InstallFiles1/Custom Custom Action=CA_DO_SOMETHING After=CA_SET_PROPERTY1/Custom /InstallExecuteSequence Windows Installer custom action types at MSDN: http://msdn2.microsoft.com/en-us/library/aa372048.aspx Julie Campbell [EMAIL PROTECTED] -Original Message- Message: 2 Date: Wed, 05 Dec 2007 12:20:37 +1300 From: Adam Langley [EMAIL PROTECTED] Subject: Re: [WiX-users] show progress text for custom action To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=iso-8859-1 Thanks Daryn, that completely fixed my problem, cheers for the clear explanation aswell! Im always stumbling around exactly when I want to execute my custom actions. Is there a diagram somewhere listing all the install sequence execute events (InstallInitialize, InstallFinalize, etc etc) - in their executed order, explaining what they're doing? Also, if my CA uses Properties, at what point are the properties evaluated and assigned? For example, if I have a deferred CA, which gets passed the installation folder, its possible the CA gets queued before the property has been assigned (I've seen this before trying to use the Quiet Execute Action)... Thanks Regards, Adam Langley _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] how to use quiet custom action
I'm running an older WiX v3 build, but I see this in my wix.chm file: Property Id=QtExecCmdLine Value=command line to run/ CustomAction Id=QtExec BinaryKey=wixca DllEntry=CAQuietExec Execute=immediate Return=check/ Binary Id=wixca src=wixca.dll/ . Property Id=QtExecDeferred Value=command line to run/ CustomAction Id=QtExecDeferred BinaryKey=wixca DllEntry=CAQuietExec Execute=deferred Return=check/ The command line needs to be set to a property, not in the Value attribute. Julie Campbell [EMAIL PROTECTED] -- Message: 5 Date: Wed, 05 Dec 2007 11:06:26 +1300 From: Adam Langley [EMAIL PROTECTED] Subject: Re: [WiX-users] how to use quiet custom action To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=iso-8859-1 Hi, I followed the instruction below, and copied the example in WiX.chm, I get the following ICE68 error: Error 7 ICE68: Invalid custom action type for action This is the example used... CustomAction Id=QtExecDeferredExampleWithProperty_Cmd Property=QtExecDeferredExampleWithProperty Value=quot;[#MyExecutable.exe]quot; Execute=immediate Return=ignore/ CustomAction Id=QtExecDeferredExampleWithProperty BinaryKey=WixCA DllEntry=CAQuietExec Execute=deferred Return=check Impersonate=no/ . . . InstallExecuteSequence Custom Action=QtExecDeferredExampleWithProperty_Cmd After=CostFinalize/ Custom Action=QtExecDeferredExampleWithProperty After=TheActionYouWantItAfter/ /InstallExecuteSequence Thanks - Adam Langley _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to Change TARGETDIR
You custom action isn't running because the inner text of this element determines whether or not to run it. You have no inner text. If you always want to run it, use: Custom Action=NewDir Before=LaunchConditions1/Custom Julie Campbell [EMAIL PROTECTED] -Original Message- Message: 1 Date: Wed, 5 Dec 2007 01:09:46 -0800 (PST) From: SaiTeja [EMAIL PROTECTED] Subject: [WiX-users] How to Change TARGETDIR To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii Hi Initially my TARGETDIR fefers to C:\. Following is wix code Directory Id='TARGETDIR' Name='SourceDir' Directory Id='ProgramFilesFolder' Name='PFiles' After that I called Custom action Dll and in dll I setted property PATH to some other drive(Not C drive) Below is code for same Binary Id=BinDiskSp SourceFile=SampleDLL.dll/ CustomAction Id=DiskSp BinaryKey=BinDiskSp DllEntry=SampleFunction/ InstallExecuteSequence Custom Action=DiskSp After=InstallInitialize/Custom /InstallExecuteSequence Now with new ppty ie PATH, I want to set TARGETDIR as the whatever value that my property PATH has Below is the code CustomAction Id=NewDir Property=TARGETDIR Value=[PATH] Execute=firstSequence / /InstallExecuteSequence Custom Action=NewDir Before=LaunchConditions/ /InstallExecuteSequence But when i execute msi, it is installing in C drive only. There is no wrong in dll. It is showing properly with new drive name. Can any one help me how to solve this _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Show dialog during uninstall..
Here are some get-started-quick-tips... Verbose logging during install: my.msi /lv*x my_log.txt Same during Uninstall: msiexec /x my.msi /lv*x unmy_log.txt Go to the end of the log and look backwards for Property. There is a list of all the defined properties and their values. Look for REMOVE in both of the logs. Notice that it is only in the uninstall. You can use this as a condition for the Publish element for your dialog that only appears upon uninstall. Looking at the log files is a good way to figure out what properties are available. Julie Campbell [EMAIL PROTECTED] -- Message: 4 Date: Mon, 3 Dec 2007 11:02:09 -0800 (PST) From: kyle.smith4001 [EMAIL PROTECTED] Subject: [WiX-users] Show dialog during uninstall.. To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii Hey everyone, I'm relatively new to wix, and thanks to some amazing tutorials I get the idea of it. However, I'm trying to display a dialog just during the uninstall. The dialog will ask the user for a password stored in our servers, which will return either a 1 or 0 if correct or incorrect. This is to prevent regular users from uninstalling the software. Everywhere I've searched explains how to display during install, but nothing for uninstall. If I run this during the installation, the password check and everything works fine. I just need the dialog to pop-up during uninstall. I'm not sure what code of mine you need to see to help me, but any help would definitely be appreciated. _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] XMLFile and XMLConfig
Fadi, This information has been put onto my wix wiki as a working example. Here is the link: http://wix.mindcapers.com/wiki/XmlConfig_Example Julie Campbell [EMAIL PROTECTED] -- Message: 4 Date: Wed, 28 Nov 2007 11:19:52 +0200 From: Fadi Haik [EMAIL PROTECTED] Subject: Re: [WiX-users] XMLFile and XMLConfig To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=iso-8859-1 Hi, seems I should open bug/feature request in wix website ? please let me know if the issue bellow not working for me since I dont know how to use or it just missing feature ? Thanks in advance, Fadi On Nov 25, 2007 10:44 PM, Fadi Haik [EMAIL PROTECTED] wrote: Hi I am trying to update on setup XML file in this format ( I use wix 3.0.3509.0) IteamList - item - key temp1/key - valuetemp1val/value /item - item - keytemp2/key - valuetemp2val/value /item /IteamList I don't know how many entries already inside that file therefore I need to use XPath function last() but it does not work for me, I have read the escaping issue on previous post and added new property [last()], btw IteamList/item[0] working for me. I tried as well to use the XMLConfig the new feature of WIX 3, but seems to me that XMLConfig working good for IteamList - item key=temp1 value=temp1val/item - item key=temp2 value=temp2val/item /IteamList since in XMLConfig you can refer to previous node for Value setting but for node create this option does not seems to be available. Could you please help me to figure how I should use those WIX Element ? Thanks in advance, Fadi _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] FW: Error LIT0103: The system cannot find thefile 'License.rtf' with type ''.
Albert, From the wix.chm (v3) file, see the page titled WiXUI dialog library guide. Here is the copy paste: --- Specifying a license file WixUIExtension.dll includes a default, placeholder license agreement. To specify your product's license, override the default by specifying a WiX variable named WixUILicenseRtf with the value of an RTF file that contains your license text. You can define the variable in your WiX authoring: WixVariable Id=WixUILicenseRtf Value=bobpl.rtf / or at the light command line: light -ext WixUIExtension -cultures:en-us -dWixUILicenseRtf=bobpl.rtf Product.wixobj -out Product.msi The file you specify must be in a directory light is looking in for files. Use the -b switch to add directories. --- Here is the switch I use personally: -dWixUILicenseRtf=lang\en-us\License.rtf Julie Campbell [EMAIL PROTECTED] -- Message: 3 Date: Tue, 27 Nov 2007 16:54:38 + From: Albert Shamsiyan [EMAIL PROTECTED] Subject: [WiX-users] FW: Error LIT0103: The system cannot find the file 'License.rtf' with type ''. To: Wix-Community (wix-users@lists.sourceforge.net) wix-users@lists.sourceforge.net Cc: Albert Shamsiyan [EMAIL PROTECTED] Message-ID: [EMAIL PROTECTED] t.com Content-Type: text/plain; charset=us-ascii Having this error message when adding the -bf switch to the lit command, no such file name is included in my project any guess? Needless to mention that project is succeeding to built when removing the -bf switch. Command line is: C:\Program Files\Windows Installer XML v3\bin\lit.exe -out C:\Generic_Dialogs\bin\Debug\Generic_Dialogs.wixlib -bf -loc WixUI_en-us.wxl -sv obj\Debug\CancelDlg.wixobj obj\Debug\Common.wixobj obj\Debug\DiskCostDlg.wixobj obj\Debug\ErrorDlg.wixobj obj\Debug\ErrorProgressText.wixobj obj\Debug\ExitDialog.wixobj obj\Debug\FatalError.wixobj obj\Debug\FilesInUse.wixobj obj\Debug\LicenseAgreementDlg.wixobj obj\Debug\MaintenanceTypeDlg.wixobj obj\Debug\MaintenanceWelcomeDlg.wixobj obj\Debug\MsiRMFilesInUse.wixobj obj\Debug\OutOfDiskDlg.wixobj obj\Debug\OutOfRbDiskDlg.wixobj obj\Debug\PatchDlg.wixobj obj\Debug\PrepareDlg.wixobj obj\Debug\ProgressDlg.wixobj obj\Debug\ResumeDlg.wixobj obj\Debug\UserExit.wixobj obj\Debug\VerifyReadyDlg.wixobj obj\Debug\WaitForCostingDlg.wixobj obj\Debug\WelcomeDlg.wixobj obj\Debug\WelcomeEulaDlg.wixobj TIA _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Problem with localization of product name
You should use .wxl (WiX localization) files for, well, localization. It takes a few tricks to get them working, but then it's smooth sailing. My main WiX project directory is setup something like this Everything is stripped down for public consumption, and I am just doing English right now, but the picture is correct: ..\WiX\ant_wix.xml -- I build with ant, was using it pre-WiX ..\WiX\lang \en-us\proj_en-us.wxl \License.rtf \de-de\proj_de-de.wxl \License.rtf ..\WiX\src \proj1.wxs \proj2.wxs \frag1.wxs ..\WiX\wixobj ..\WiX\wixlib ..\WiX\Packages \en \de The en-us .wxl file is something like this: ?xml version='1.0'? WixLocalization Culture='en-us' xmlns='http://schemas.microsoft.com/wix/2006/localization' String Id='LANG'1033/String String Id='Company'MindCapers/String String Id='ProductName'SomeProductName in English/String ... /WixLocalization To access from within a .wxs file: Package Description='!(loc.ProductName)' Comments='!(loc.ProductName) v1.0' Manufacturer='!(loc.Company)' InstallerVersion='200' Compressed='yes' / To build, it's just the light command line that needs to have this added: -cultures:en-us -loc lang\en-us\prod_en-us.wxl -dWixUILicenseRtf=lang\en-us\License.rtf For each language of course. I also change the output directory to reflect the localization, like so: -out Packages\en\prod_v1.0.msi As I mentioned, many steps, but worth the refactoring if you need to localize to several languages Julie Campbell [EMAIL PROTECTED] -Original Message- Message: 2 Date: Wed, 21 Nov 2007 20:42:11 +0800 From: Abhradeep Thakurta [EMAIL PROTECTED] Subject: [WiX-users] Problem with localization of product name To: wix-users@lists.sourceforge.net wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] microsoft.com Content-Type: text/plain; charset=us-ascii Hi, Can you please help me in finding out a way to localize the product name. We have used the technique of using .wxi (where the strings are defined as ?defined ? ) file which in turn gets localized but this is not accepted by Microsoft Loc Studio 4.6 . So can u suggest a work around ? Thanks and Regards, Abhradeep Guha Thakurta _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Problem with localization of product name
For anyone interested, I just converted the last e-mail I sent to a page on wix.mindcapers.com for future reference (and better readability): http://wix.mindcapers.com/wiki/Localization Julie Campbell [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] The Wix Book (Peter Wone)
I am woefully behind on wix-users due to excessive workload that has finally lightened up some. I started cleaning up my wix wiki (with the GNU FDL license) due to some spam and a bit of time to actually work on it! I also split it into its own wiki from my other stuff. It's good to remind people of its existence from time to time http://wix.mindcapers.com/wiki/Main_Page I did close open user creation due to the spam, but will create an account for anyone that wants one if you e-mail me at my work e-mail address (in sig) or [EMAIL PROTECTED] Be warned that if you send to my personal account, there is an automated round of respond to this e-mail if you are a live person spam protection that you will need to go through to add your e-mail address to my whitelist. Thanks to Peter and Rene and others that have contributed to this project! FYI, I was in contact with a real live publisher about this, but the financial reward for writing a WiX book wasn't much more than I just got paid at my fulltime job for composing this e-mail. ;) Julie Campbell [EMAIL PROTECTED] -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Friday, September 14, 2007 3:37 AM To: wix-users@lists.sourceforge.net Subject: WiX-users Digest, Vol 16, Issue 72 Send WiX-users mailing list submissions to wix-users@lists.sourceforge.net To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/wix-users or, via email, send a message with subject or body 'help' to [EMAIL PROTECTED] You can reach the person managing the list at [EMAIL PROTECTED] When replying, please edit your Subject line so it is more specific than Re: Contents of WiX-users digest... Today's Topics: 1. install integrated MSHelp2 with WixVSExtensions.dll (Steve Maillet) 2. Installation location in V3 ([EMAIL PROTECTED]) 3. Something wrong with the component condition (JosephLee) 4. Re: WiX-users Digest, Vol 16, Issue 62 (Peter Wone) 5. Re: The Wix Book (Peter Wone) 6. Wix/VS+Votive - adding all files in a directory to a project? (Sergei Shelukhin) 7. Re: Install files into MS Office directory ( J?nos Brezniczky ) -- Message: 1 Date: Fri, 14 Sep 2007 12:31:31 +1200 From: Steve Maillet [EMAIL PROTECTED] Subject: [WiX-users] install integrated MSHelp2 with WixVSExtensions.dll To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii We've been exploring WIX a bit and found it's developer friendly compile/link process and the votive wixlib project system to be a fantastic improvement over all other tools we've used. Even with as little documentation as there is on WIX we've been able to get productive quite quickly. However, there is one nagging issue we can't figure out. We are trying to provide integrated help for VS2005 for our developer libraries. The WixVsExtensions.dll looks like it will ultimately do the trick but we just can't figure out how to get it to work right. (Getting an ICE03 error regarding an invalid foreign key if we use the PlugCollectionInto element) Has anyone tried using any of this? Any pointers, suggestions or samples? Steve Maillet - CTO EmbeddedFusion, Ltd. -- next part -- An HTML attachment was scrubbed... -- Message: 2 Date: Fri, 14 Sep 2007 06:41:32 +0530 From: [EMAIL PROTECTED] Subject: [WiX-users] Installation location in V3 To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=iso-8859-1 Hi, How can I make installed files go into other than predetermined locations. In V2, I used to write Public property Property Id=SETUPDIR Value=C:\Inetpub\wwwroot / With this property, V3 gave me the following warning, warning LGHT1076 : ICE48: Directory 'SETUPDIR' appears to be hardcoded in the property table to a local drive. even Value=ProgramFilesFolder gave the same warning. Looking for help. Thanks. _ News, entertainment and everything you care about at Live.com. Get it now! http://www.live.com/getstarted.aspx -- next part -- An HTML attachment was scrubbed... -- Message: 3 Date: Thu, 13 Sep 2007 22:51:39 -0700 (PDT) From: JosephLee [EMAIL PROTECTED] Subject: [WiX-users] Something wrong with the component condition To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii hi all, I has a windows installer package and i want to install the feature sooa when it is on Windows 2008 Server, so i write the component condition like this, but it doesn't work at all and on any operating system the sooa will be installed. Does any one know what's
Re: [WiX-users] re gistering a dll in global assembly cache
You're working way too hard at this, there is an attribute on the File element that takes care of this for you. Here is an example: File Id='SOME_DLL' Name=Some.dll' KeyPath='yes' Assembly='.net' Source='C:\Some\Some.dll' / Julie Campbell [EMAIL PROTECTED] -- Message: 7 Date: Mon, 19 Nov 2007 22:57:12 -0800 (PST) From: chandan Koushik [EMAIL PROTECTED] Subject: [WiX-users] re gistering a dll in global assembly cache To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii Hi All, I wanted to register OFFICE.dll in the global assembly cache . Normally we do this using the command C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe -i C:\OFFICE.DLL and this dll gets registered in the cache . I tried the following code out to achieve this in wix but this doesn't work. CustomAction Id=InstallOffice FileKey=gacutil.exe ExeCommand=-i quot;C:\OFFICE.DLLquot; Return=ignore/ InstallExecuteSequence Custom Action=InstallOffice After=InstallFinalize NOT Installed/Custom /InstallExecuteSequence And also the other approach did not work out. Property Id=gacutilexegacutil/Property CustomAction Id=InstallOffice Property=gacutilexe ExeCommand=/i quot;C:\OFFICE.DLLquot; Return=check/ InstallExecuteSequence Custom Action=InstallOffice After=InstallFinalize NOT Installed/Custom /InstallExecuteSequence can anyone help me as to how can this be achieved using custom action in wix3.0 . Plz Help. Regards Chandan -- View this message in context: http://www.nabble.com/registering-a-dll-in-global-assembly-cache-tf4841578.h tml#a13851851 Sent from the wix-users mailing list archive at Nabble.com. -- - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users End of WiX-users Digest, Vol 18, Issue 100 ** _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Calling embedded binaries with WIX Custom Actions
Jose, There are three things that you missed: In your CustomAction element, you should specify the Execute attribute and use check (run custom action synchronously, wait for return code) for the Return attribute, like so: CustomAction Id=NotepadPopUp BinaryKey=Notepad.exe ExeCommand=c:\old.txt Execute=oncePerProcess Return=check / The Custom action requires inner text, specifying whether or not to execute the custom action. If you always want to execute the action, you can use 1, like so: Custom Action=NotepadPopUp After=InstallFiles1/Custom However, realize that this will ALSO run upon uninstall. If you don't want this, try one of these: Custom Action=NotepadPopUp After=InstallFilesNOT Installed/Custom Custom Action=NotepadPopUp After=InstallFilesNOT REMOVE~=ALL/Custom The first will run only upon initial install, not when repairing. The second will not run when removing the entire package. Hope this helps! Julie Campbell [EMAIL PROTECTED] -- Message: 6 Date: Mon, 19 Nov 2007 13:09:30 -0800 From: Jose Sanchez Saldana (Excell Data Corporation) [EMAIL PROTECTED] Subject: [WiX-users] Calling embedded binaries with WIX Custom Actions To: wix-users@lists.sourceforge.net wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] soft.com Content-Type: text/plain; charset=us-ascii As a simple test, I've input the following code into a .wxs file: Binary Id=Notepad.exe SourceFile=c:\WINNT\notepad.exe/ CustomAction Id=NotepadPopUp BinaryKey=Notepad.exe ExeCommand=c:\old.txt / InstallExecuteSequence Custom Action=NotepadPopUp After=InstallFiles/ /InstallExecuteSequence Thus, I'm trying to get notepad to pop up old.txt, with no apparent results. The examples and documentation I've looked through suggest this is correct, though - is there anything I might have missed? Thanks. _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Executing embedded MSI's
Sorry for the confusion John, thanks for the correction Bob. I renamed the wiki page title to correct. Julie Campbell [EMAIL PROTECTED] -Original Message- From: Bob Arnson [mailto:[EMAIL PROTECTED] Sent: Thursday, August 23, 2007 11:28 AM To: Julie Campbell Cc: wix-users@lists.sourceforge.net; [EMAIL PROTECTED] Subject: Re: [WiX-users] Executing embedded MSI's Julie Campbell wrote: http://wix.mindcapers.com/wiki/Embed_a_Third_Party_MSI That works because DirectX *isn't* delivered as an MSI package. -- sig://boB http://joyofsetup.com/ _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Executing embedded MSI's
John, Take this with a GIANT grain of salt, but I have these notes about embedding a third party MSI saved off onto my person WiX wiki: http://wix.mindcapers.com/wiki/Embed_a_Third_Party_MSI It's a cut and paste from this mailing list I thought might be useful, as is 99% of the content on that wiki. When I get time, I plan to clean it up, but for now, the wiki is just semi-organized wix-users tidbits. I was thinking of trying this in the next couple days myself. Julie Campbell [EMAIL PROTECTED] -- Message: 9 Date: Tue, 21 Aug 2007 22:41:30 -0700 From: Dix, John [EMAIL PROTECTED] Subject: Re: [WiX-users] Executing embedded MSI's To: Bob Arnson [EMAIL PROTECTED] Cc: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=iso-8859-1 So is there a way around this? Creating a CustomAction in a DLL I write that spawns the msiexec application against the MSI's maybe? _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] XmlFile failing to open installed file
John, Why the double slashes at the beginning of your element names? Just one slash... util:XmlConfig Id='ADD_SOME_TOC' Sequence='26001' Action='create' On='install' Name='toc_replaceme' Node='element' ElementPath='/plugin/extension' File='[INSTALLDIR]plugin.xml' VerifyPath='/plugin/extension/[EMAIL PROTECTED]SomeTOC.xml[\]]' / Julie Campbell [EMAIL PROTECTED] -- Message: 3 Date: Wed, 22 Aug 2007 08:33:10 -0700 From: John Hancock (HSG) [EMAIL PROTECTED] Subject: [WiX-users] XmlFile failing to open installed file To: wix-users@lists.sourceforge.net wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] soft.com Content-Type: text/plain; charset=us-ascii I'm having problems with the XmlFile custom action using Wix 3.0 where the installer says it fails to open the installed XML file. The installer is being run on a Windows Server 2003 machine with SP1. In particular, I have something like the following: Component Id=XMLConfig Guid=YOUR-GUID-HERE DiskId=1 File Id=Config.xml Name=Config.xml KeyPath=yes / util:XmlFile Id =Config_Name File=[INSTALLLOCATION]Config.xml Action=setValue ElementPath=//Config/Name Value=[NAME]/ util:XmlFile Id =Config_IPAddress File=[INSTALLLOCATION]Config.xml Action=setValue ElementPath=//Config/IPAddress Value=[IPADDRESS]/ /Component The XML file is installed in the proper location and when it goes to use the custom action, it looks in the proper location for the file, but I get an error that causes the installation to abort. The error in the installation logfile looks like: ExecXmlFile: Error 0x8007006e: failed to load XML file: C:\inetpub\MyDirectory\Config.xml If I have filemon open, however, at the time the ExecXmlFile fails, it claims that the file READ request returned SUCCESS. The paths appear correct and if I leave out the XmlFile actions the file installs properly in the location expected. Anyone have any ideas what's going wrong? My Config.xml looks like the following: ?xml version=1.0 encoding=utf-16? Config Nameservername/Name IPAddressserverIP/IPAddress /Config Thanks for any assistance! John _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Variables used in WiX files.
For WiX v3, the syntax is: ?define MY_INSTALL_LOC = 'InstallLocation'? RegistryValue Name='$(var.MY_INSTALL_LOC)' Type='string' Value='[SOME_PROPERTY]' / Still regular (), not curly braces. Julie Campbell [EMAIL PROTECTED] -Original Message- Message: 1 Date: Mon, 20 Aug 2007 13:25:00 -0700 From: Dix, John [EMAIL PROTECTED] Subject: [WiX-users] Variables used in WiX files. To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii Hello, I am new to WiX and I have done searches for how to use environment variables in the WiX files but the examples given do not seem to be working for me. Below is my WXS file I am working with. I am using the ?define ... ? directive (?) to set a relative path variable to my executable. Candle compiles but Light does not link. Here is the output. Can anyone please tell me what I am doing incorrect here? THANKS! C:\enlistments\Main\Build\Setupcandle ems.wxs Microsoft (R) Windows Installer Xml Compiler version 3.0.2925.0 Copyright (C) Microsoft Corporation 2003. All rights reserved. EMS.wxs C:\enlistments\Main\Build\Setuplight -sice:ICE43 -sice:ICE57 -sice:ICE64 ems.wi xobj Microsoft (R) Windows Installer Xml Linker version 3.0.2925.0 Copyright (C) Microsoft Corporation 2003. All rights reserved. C:\enlistments\Main\Build\Setup\EMS.wxs(46) : error LGHT0103 : The system cannot find the file '${WiX.Global.SupportFilePath}'. C:\enlistments\Main\Build\Setup\EMS.wxs(26) : error LGHT0103 : The system cannot find the file '${WiX.Global.SupportFilePath}'. ?xml version=1.0? Wix xmlns='http://schemas.microsoft.com/wix/2006/wi' Product Name='eMedSample and eSignature' Id='8C8EE958-63F6-44e0-B8D6-77CA69E63AFA' UpgradeCode='C45433AF-997A-4b5e-8905-812CE608D924' Language='1033' Version='3.20.0.1' Manufacturer='MedManage Systems' Package Keywords='Installer' Description='MedManage Systems eMedSample and eSignature application' Comments='This is the basic application for hosting all of our customers' InstallerVersion='200' Languages='1033' Compressed='yes' SummaryCodepage='1252' / Condition Message=You need to be an administrator to install this product. Privileged /Condition Condition Message='Windows Server 2003' VersionNT = 502 /Condition ?define WiX.Global.SupportFilePath='..\..\tools\MD5Summer\md5summer.exe' ? Media Id='1' Cabinet='mms.cab' EmbedCab='yes' DiskPrompt=CD-ROM #1 / Property Id='DiskPrompt' Value=Acme's Foobar 1.0 Installation [1] / Directory Id='TARGETDIR' Name='SourceDir' Directory Id='MAINTENANCE_DIR' Name='Maintenance' Directory Id='INSTALLDIR' Name='MD5' Component Id='MD5SUMMER_APP' Guid='8AAE78E9-A405-49f2-896F-0CCF764F925F' File Id='MD5SUMMER_EXE' Name='MD5Summer.exe' DiskId='1' Source=${WiX.Global.SupportFilePath} Vital='yes' Shortcut Id=desktopFoobar10 Directory=DesktopFolder Name=MD5Summer WorkingDirectory='INSTALLDIR' Icon=MD5SUMMER_ICON IconIndex=0 / /File RemoveFolder Id='ProgramMenuDir' On='uninstall' / /Component /Directory /Directory Directory Id=ProgramMenuFolder Name=Programs Directory Id=ProgramMenuDir Name='MD5' / /Directory Directory Id=DesktopFolder Name=Desktop / /Directory Feature Id='Complete' Level='1' ComponentRef Id='MD5SUMMER_APP' / /Feature Icon Id=MD5SUMMER_ICON SourceFile=${WiX.Global.SupportFilePath} / /Product /Wix -- next part -- An HTML attachment was scrubbed... -- Message: 2 Date: Mon, 20 Aug 2007 16:34:03 -0400 From: [EMAIL PROTECTED] Subject: Re: [WiX-users] Variables used in WiX files. To: [EMAIL PROTECTED],wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii John, At first glance, I suspect you're using the wrong type of parenthesis. If it's WiX 2.x you need ( and ), not { and }. I don't remember it having been changed for WiX 3, but it may have. Regards, Richard _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please
[WiX-users] util:XmlConfig Problem, Possible WixUtilExtension Bug?
I'm trying to write the WiX v3 code to modify an XML file in my installation. The goal is to add elements, but instead an existing element gets changed. I stripped this problem down to the bare minimum and zipped it up to be buildable (.wxs, .bat, 2 very small source files): http://mindcapers.com/samples/XmlConfigProblem.zip I think it might be a WiXUtilExtension bug, but I'm hoping its just a mistake on my part. Here is the WiX source if you want to look before downloading: ?xml version='1.0'? Wix xmlns='http://schemas.microsoft.com/wix/2006/wi' xmlns:util='http://schemas.microsoft.com/wix/UtilExtension' Product Id='{EC411C25-89B7-4586-9BDA-48DA76A61FD9}' Name='XmlConfig Problem' Language='1033' Version='1.0.0' Manufacturer='MindCapers' UpgradeCode='{E8254079-0516-4b76-9ECB-4F88EA19D861}' Package Description='XmlConfig Problem' Comments='XmlConfig Problem' Manufacturer='MindCapers' InstallerVersion='200' Compressed='yes' / Media Id='1' Cabinet='XmlConfigProblem.cab' EmbedCab='yes' / Directory Id='TARGETDIR' Name='SourceDir' Directory Id='ProgramFilesFolder' Name='PFiles' Directory Id='INSTALLDIR' Name='MindCapers' Component Id='SOME_XML_FILE' Guid='{6CB5D69F-427D-429d-B7C0-3D0E4412A8E9}' File Id='SOME_XML_FILE' Name='plugin.xml' Source='C:\XmlConfigProblem\plugin.xml'/ /Component Component Id='SOME_XML_CONFIG' Guid='{EB73DB52-D140-4076-B7E8-A8A165E300BE}' File Id='SOME_TOC_FILE' Name='SomeTOC.xml' Source='C:\XmlConfigProblem\SomeTOC.xml'/ util:XmlConfig Id='ADD_SOME_TOC' Sequence='26001' Action='create' On='install' Name='toc' Node='element' ElementPath='/plugin/extension' File='[INSTALLDIR]plugin.xml' VerifyPath='/plugin/extension/[EMAIL PROTECTED]SomeTOC.xml[\]]' / util:XmlConfig Id='SET_SOME_TOC_FILE' Sequence='26002' Action='create' On='install' Name='file' Node='value' ElementPath='/plugin/extension/toc' File='[INSTALLDIR]plugin.xml' Value='SomeTOC.xml' VerifyPath='/plugin/extension/[EMAIL PROTECTED]SomeTOC.xml[\]]' / /Component /Directory /Directory /Directory Feature Id='Express' Title='XmlConfigProblem' Description='XmlConfigProblem' Display='expand' Level='1' ComponentRef Id='SOME_XML_FILE' / ComponentRef Id='SOME_XML_CONFIG' / /Feature /Product /Wix Julie Campbell [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Simple Question: Passing parameter to a propertyID
You need to use what is known as a Type 51 Custom Action. Don't worry, it isn't as hard as it sounds. Here is an example: CustomAction Id=SET_CATALINA Property=CATALINA Value=[TARGETDIR] Return=check/ InstallExecuteSequence Custom Action= SET_CATALINA' After='AppSearch'1/Custom /InstallExecuteSequence BTW, consider the case of CATALINA carefully. A Windows Installer weirdity is that UPPERCASE properties are public (available from fragments, etc.), and any lowercase character in the property name makes it private. Personally, I always do all uppercase unless I have a good reason not to. This seems to be a common cause of newbie grief. Julie Campbell [EMAIL PROTECTED] -Original Message- Message: 5 Date: Fri, 3 Aug 2007 12:28:11 -0700 (PDT) From: srinivas nomu [EMAIL PROTECTED] Subject: [WiX-users] Simple Question: Passing parameter to a propertyId To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=iso-8859-1 Hi I want to pass a parameter value to some other application. The parameter is TARGETDIR. When I retrive this value into a text item it shows up the value correctly. However, when I declare a property Id and try to use that PropertyId,it gives value as TARGETDIR and not the actual path. Here is how I defined the property id: Property Id=catalinaValue=![CDATA[TARGETDIR]]/ When I use catalina it gives as TARGETDIR. In a control Text, it shows as whatever I set the target path.(For ex: C:\Program files). What should I do to get the value of TARGETDIR into this propertyId. Please help as I am new to WIX. Thanks for any help. Srini _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to write a text file using WIX
I did something similar by writing a custom action. I was planning to clean it up and post it on my website as a simple example. I haven't had time, but that is the way to go about it. Julie Campbell [EMAIL PROTECTED] -Original Message- Message: 4 Date: Wed, 11 Jul 2007 19:59:34 -0700 From: Bob Arnson [EMAIL PROTECTED] Subject: Re: [WiX-users] How to write a text file using WIX To: srinivas nomu [EMAIL PROTECTED] Cc: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=ISO-8859-1; format=flowed srinivas nomu wrote: I want to get the CD-Key input from the user and write into a License.dat file, which is actually a text file. How should I do with WIX. Any examples?. The only MSI support for writing to text files is via the IniFile table. _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] WiX-users] ConfigurableDirectory being ignored
Woops, my bad, sorry! Julie Campbell [EMAIL PROTECTED] -Original Message- From: Bob Arnson [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 20, 2007 10:24 PM To: Julie Campbell Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] WiX-users] ConfigurableDirectory being ignored Julie Campbell wrote: Take a look at this line: Property Id=WIXUI_INSTALLDIR Value=COMBINEDPRODUCTFOLDER / That will set the value of the WIXUI_INSTALLDIR property to COMBINEDPRODUCTFOLDER, not the value of the COMBINEDPRODUCTFOLDER property. That's actually what WIXUI_INSTALLDIR needs -- it's used as an indirect property in other parts of the UI. -- sig://boB http://joyofsetup.com/ _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] Resources, Satellite Assemblies, Registration, Forcing Order
I have this .Net DLL that I migrated (mostly) from VS 2003 to VS2005. The resources (embedded) didn't migrate so well. We don't do any localization (English installs only), but I can't figure out how to get rid of the no resources for the specified culture or the neutral culture could be found message. The resources are in a .resx file. This isn't a WiX issue, but if someone in the know could answer this, it would save the grief on the WiX part. The resource localization seems to be a VS 2003-2005 improvement that a lot of people have struggled with. I found lots of questions, few answers. I did figure out how to convert the .resx - .resources - satellite assembly. I can't figure out how to get it installed though. The satellites seem to need the main assembly to be in the gac first. The main assembly needs to be gac'd and regasm'd with the /tlb flag. I can get the end user application to behave correctly by doing all the regasm and gac work by hand after the main install, but obviously I can't deploy that. Julie Campbell [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] Resources, Satellite Assemblies, Registration, Forcing Order
Thank you so much Rene! These two lines solved my problem: [assembly: AssemblyCulture(en-US)] [assembly: NeutralResourcesLanguageAttribute(en-US, UltimateResourceFallbackLocation.MainAssembly)] Thanks again! Julie Campbell [EMAIL PROTECTED] -Original Message- From: Schrieken, Rene [mailto:[EMAIL PROTECTED] Sent: Monday, June 18, 2007 10:11 AM To: Julie Campbell Cc: wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Resources, Satellite Assemblies, Registration,Forcing Order Julie, If you only have one language resource, you should not have to rely on sattelites. Did you set the Assembly::NeutralResourcesLanguage(en-US, UltimateResourceFallbackLocation.MainAssembly) Otherwise you could have a sub directory relative to your exe where the satellite assembly resides. (that should make the GAC step not nescearry) It should look like this \app\app.exe \app\en-US\app.resources.dll \app\en-UK\app.resources.dll Did you also verify that the AssemblyCulture attribute is set? The main assembly is a .dll? Or is it an .exe? Are you only using managed code? Rene -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Julie Campbell Sent: Monday, June 18, 2007 2:18 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Resources, Satellite Assemblies, Registration,Forcing Order I have this .Net DLL that I migrated (mostly) from VS 2003 to VS2005. The resources (embedded) didn't migrate so well. We don't do any localization (English installs only), but I can't figure out how to get rid of the no resources for the specified culture or the neutral culture could be found message. The resources are in a .resx file. This isn't a WiX issue, but if someone in the know could answer this, it would save the grief on the WiX part. The resource localization seems to be a VS 2003-2005 improvement that a lot of people have struggled with. I found lots of questions, few answers. I did figure out how to convert the .resx - .resources - satellite assembly. I can't figure out how to get it installed though. The satellites seem to need the main assembly to be in the gac first. The main assembly needs to be gac'd and regasm'd with the /tlb flag. I can get the end user application to behave correctly by doing all the regasm and gac work by hand after the main install, but obviously I can't deploy that. Julie Campbell [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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 e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you. _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] If File Assembly='.net' ... /, Assembly added but file not installed?
Thanks for the answer Bob! Julie Campbell [EMAIL PROTECTED] -Original Message- From: Bob Arnson [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 12, 2007 10:41 PM To: Julie Campbell Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] If File Assembly='.net' ... /, Assembly added but file not installed? Julie Campbell wrote: The assembly gets gac'd, but the actual file does not get installed. Is this the expected behavior? If a file is marked for the GAC, it goes there only. MSI doesn't install the file, then run gacutil or equivalent -- it uses Fusion interfaces directly to install to the GAC. -- sig://boB http://joyofsetup.com/ _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] WiX-users Digest, Vol 13, Issue 78
Thank Neil, it looks like this element could have solved a problem I was dealing with a couple weeks ago and finally started looking for other ways to resolve. Good to know! Julie Campbell [EMAIL PROTECTED] -- Message: 3 Date: Tue, 12 Jun 2007 22:29:11 +0100 From: Neil Sleightholm [EMAIL PROTECTED] Subject: Re: [WiX-users] Heat and vb6 dll? To: Cheyne, Mark A - DNR [EMAIL PROTECTED], wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii It looks like this has come up before: http://www.mail-archive.com/wix-users@lists.sourceforge.net/msg01619.htm l I found I needed to add: EnsureTable Id=Registry / EnsureTable Id=Class / EnsureTable Id=ProgId / EnsureTable Id=Extension / EnsureTable Id=MIME / EnsureTable Id=Verb / Neil _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] If File Assembly='.net' ... /, Assembly added but file not installed?
Using WiX v3.0.2813, If I set the Assembly attribute on a File element to '.net', like this: File Id='Some_DLL' Name='Some.DLL' KeyPath='yes' Assembly='.net' / The assembly gets gac'd, but the actual file does not get installed. Is this the expected behavior? Julie Campbell [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] Error in Installing to GAC
I ran across a GAC problem today, did my due Google-ance before bothering the list, and found an old e-mail chain with the same problem. Unfortunately, the resolution wasn't posted. Here is the link to jog your memory: http://www.mail-archive.com/wix-users@lists.sourceforge.net/msg03509.html My Experience: This works under XP, fails (cannot write to KeithleyTSPLib.xml) under Win2K. That could be a build machine (XP)/test machine issue, hard to tell. My Wix Snippet: Component Id='KeithleyTSPLib' Guid='{F7C2AEEB-28A6-40fb-B688-C25BEDF44793}' File Id='KeithleyTSPLib_DLL' Name='KeithleyTSPLib.dll' KeyPath='yes' Assembly='.net' Source='C:\PlatformESP\TSB\KeithleyTSP\bin\Release\KeithleyTSPLib.dll' AssemblyManifest='KeithleyTSPLib_Manifest' TypeLib Id='{156AA8CD-E3E3-45f9-9358-B394074031AA}' Advertise='yes' Language='0' Description='!(loc.KeithleyTSPLib_TypeLib_Descr)' MajorVersion='1' MinorVersion='1' / /File File Id='KeithleyTSPLib_Manifest' Name='KeithleyTSPLib.xml' Source='C:\PlatformESP\TSB\KeithleyTSP\bin\Release\KeithleyTSPLib.xml' / File Id='KeithleyTSPLib_TypeLib' Name='KeithleyTSPLib.tlb' Source='C:\PlatformESP\TSB\KeithleyTSP\bin\Release\KeithleyTSPLib.tlb' CompanionFile='KeithleyTSPLib_DLL' / /Component If I leave out the KeithleyTSPLib_Manifest file, I get a 1935/0x80131043 error (http://blogs.msdn.com/astebner/archive/2004/08/26/221005.aspx). If I put in that element, I get a 2350 error, Error writing tofile: KeithleyTSPLib.xml. Verify that you have access to that directory (retry/cancel, no luck with retry). KNOWN WORKAROUND: If I remove all the assembly stuff and just install the .dll as a plain file then do this manually (or via batch file), it works. (Well, I am still missing some assembly-esque thing, but I get farther): copy regasm.exe C:\Program Files\Keithley Instruments\KETSP\bin copy sn.exe C:\Program Files\Keithley Instruments\KETSP\bin c: cd \Program Files\Keithley Instruments\KETSP\bin regasm KeithleyTSPLib.dll /tlb gacutil /i KeithleyTSPLib.dll Help? I am not a GAC expert by any means. In fact, I can barely spell GAC . Julie Campbell [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] upgradable merge modules
I've got some preliminary notes/sample code/links about how to actually create a bootstrapper here that could be of help: http://mindcapers.com/wiki/Bootstrapper It's under construction, so a bit of a mess, sorry. Julie Campbell [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] Source directory resolution in fragments
David, If the file lived in SourceDir (which is set to TARGETDIR), you would want to use DirectoryRef Id=TARGETDIR not DirectoryRef Id=INSTALLDIR in your fragment. Julie Campbell [EMAIL PROTECTED] -Original Message- Message: 1 Date: Fri, 25 May 2007 11:56:54 -0700 (PDT) From: Didactylos [EMAIL PROTECTED] Subject: [WiX-users] Source directory resolution in fragments To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii I had a directory structure like this (I've simplified a bit): Directory Id=TARGETDIR Name=SourceDir Directory Id=ProgramFilesFolder Directory Id=INSTALLDIR Name=MyProduct SourceName=. Component Id=file.exe Guid=491167D5-19F9-4271-8BC5-7D16394F2ED0 File Id=file.exe Name=file.exe KeyPath=yes/ /Component /Directory /Directory /Directory It correctly found file.exe at .\SourceDir\file.exe I then refactored my components into fragments. In one file: Directory Id=TARGETDIR Name=SourceDir Directory Id=ProgramFilesFolder Directory Id=INSTALLDIR Name=MyProduct SourceName=. / /Directory /Directory And in another file: Fragment DirectoryRef Id=INSTALLDIR Component Id=file.exe Guid=491167D5-19F9-4271-8BC5-7D16394F2ED0 File Id=file.exe Name=file.exe KeyPath=yes/ /Component /DirectoryRef /Fragment Now light looks for file.exe at .\file.exe - and fails, obviously. All the examples I can find show each file given an explicit source path, but this seems unnecessarily ugly to me. How can I make it pick up the source tree from the directory hierarchy again? Thank you David Barnard _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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 using Action attribute on Custom
I edited the original e-mail to put the elements on different lines only. Try adding an Id attribute to the CustomAction element that sets the property, i.e., Id='SetProp_QtExecDeferred'. Also, set execution of this to 'immediate'. You also need to call this custom action within the InstallExecuteSequence, like so: InstallExecuteSequence Custom Action='SetProp_QtExecDeferred' ... / Custom Action='QtExecDeferred' ... / /InstallExecuteSequence Julie Campbell [EMAIL PROTECTED] -Original Message- Message: 2 Date: Tue, 15 May 2007 18:06:08 -0600 From: Kevin Fischer [EMAIL PROTECTED] Subject: Re: [WiX-users] Problem using Action attribute on Custom element To: wix-users@lists.sourceforge.net wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=windows-1252 Any thoughts on how to fix this? Should I not be using V3 of WiX? I was under the impression that I needed to use V3 if I wanted to use the feature-rich version of Votive. Thanks, Kevin From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: Mon, 14 May 2007 16:08:00 -0600Subject: [WiX-users] Problem using Action attribute on Custom element I'm trying to execute a deferred command line in my MSI. I want it to execute only on uninstall prior to a service being stopped/uninstalled. I'm following the code snippet I found in the help. So I have some code like: CustomAction Property=QtExecDeferred Value=[INSTALLLOCATION]foo.exe / CustomAction Id=QtExecDeferred BinaryKey=wixca DllEntry=CAQuietExec Execute=deferred Return=check/ Binary Id=wixca SourceFile=wixca.dll/ InstallExecuteSequence Custom Action=QtExecDeferred Before=StopServicesInstalled/Custom /InstallExecuteSequence When I try to compile this I get the error: Cannot set column 'Action' with a null value because this is a required field. I'm using WiX version 3, the version released in December 2006. Any ideas? Thanks,Kevin _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] Help with feature condition...
Are you really setting that property to the text value of 0 or 1, or are you setting it to an integer? You might want to try: AuthBASE = 0 Julie Campbell [EMAIL PROTECTED] -Original Message- Message: 2 Date: Tue, 15 May 2007 14:08:50 -0400 From: Lewis Henderson [EMAIL PROTECTED] Subject: [WiX-users] Help with feature condition... To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii Hi All, I'm working on an install that uses a Custom Action to validate an authorization key. Depending on the value of the key, I want to disable the features that aren't authorized. I know you can disable a feature by setting it's level to '0' via a conditional, so my CA sets a property, Auth[feature name] to '0' or '1' depending on whether or not it's authorized. For example, the BASE feature checks the AuthBASE property. My feature definition looks like this: Feature Id='BASE' Title='This is the BASE feature' Level=1 AllowAdvertise='no' ... component references ... Condition Level=0AuthBASE = 0/Condition /Feature The problem is that this doesn't work. I can change the condition to ...NOT AuthBASE = 0/... and the feature goes away, but that just seems to say AuthBASE isn't known. I've checked the log and the Auth... properties are set before the FeatureTree dialog shows up, and they're set correctly. What am I doing wrong here? Thanks for any advice. Lewis -- next part -- An HTML attachment was scrubbed... -- Message: 3 Date: Tue, 15 May 2007 11:20:13 -0700 From: Wilson, Phil [EMAIL PROTECTED] Subject: Re: [WiX-users] CustomAction = .VC Runtime Dependency? To: WiX-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii What tool version are you using to build your Dll? Msvcrt.dll goes back to VS 6.0. And what's dutil.lib/dll? Nothing in the SDK about it. And which version of the Platform SDK/Windows SDK are you using? Phil Wilson From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Tuesday, May 15, 2007 10:42 AM To: WiX-users@lists.sourceforge.net Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: [WiX-users] CustomAction = .VC Runtime Dependency? I'd appreciate any advice that could point me in the direction of solving this problem. With my project settings as they are, if I build the dll and the installer, the installer will fail with the usual premature termination error, because my dll failed to load. I started working from a template I found online, so I may have been following bad practices. I'm compiling with /MT and have the following lines in my source #pragma comment(lib,msi.lib) #pragma comment(lib,shlwapi.lib) #pragma comment(lib,libcmt.lib) #pragma comment(lib,dutil.lib) #pragma comment(lib,advapi32.lib) #pragma comment(lib,wcautil.lib) If I add this line #pragma comment(lib,msvcrt.lib) Before the libcmt line, I get the warning LNK4098: defaultlib 'libcmt.lib' conflicts with use of other libs That makes sense to me, because from what I understand, msvcrt is the dynamic multi-threaded library, and libcmt is the static one. The dll that results from having that line added is much smaller, which makes me believe its now dynamically linking dispite the /MT flag. The part I'm having trouble understanding is that with msvcrt.lib, the installer works (on systems where the runtime is installed), but without it, the installer dies un able to run the dll code. I'm assuming its either an issue with the project properties and/or my use of those #pragma directives, but I'm not sure how to proceed. Any ideas? (Obvious ones included :-) ) From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Tuesday, May 15, 2007 11:34 AM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED]; WiX-users@lists.sourceforge.net Subject: Re: [WiX-users] CustomAction = .VC Runtime Dependency? So now's the time to add logging or even a MessageBox call to verify that the function is now being loaded and executed. Based on everything I've learned to this point, all signs point to something wrong in how I built the dll. I have logging throughout the dll already, and the project settings are all that changed (it was semi-working before.) In the past these executing action failed errors have meant a missing dependency. My tendency here is to suspect I have mismatched libraries or something along those lines, though I've got nothing to base that on. -- next part -- An HTML attachment was scrubbed... -- - This SF.net email is sponsored by DB2 Express Download DB2
Re: [WiX-users] Error on uninstall?
Thanks Bob, that sure makes it easier to find. BTW, I found this link with the actual algorithm: http://support.installshield.com/kb/view.asp?articleid=Q105971 It turned out to be my Product GUID. So much for narrowing down the problem! At least I know how to match up the GUIDs in the log to the source GUIDs now. (Rene, thanks for your effort too!) Julie Campbell [EMAIL PROTECTED] -Original Message- From: Bob Arnson [mailto:[EMAIL PROTECTED] Sent: Friday, May 11, 2007 2:48 AM To: Julie Campbell Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Error on uninstall? Julie Campbell wrote: Here's what seems to be the applicable part of the log. The user error is something like one or more files needed for restoration cannot be found. Restoration is not possible. I haven't seen that error before but the log fragment below is part of the rollback script; it's MSI cleaning up its private data. The error is above it. I don't know what 19C29D7B9D408814D8EF629B9E4E4D76 is, it isn't a GUID I'm using. It's a compressed GUID. See http://support.microsoft.com/kb/296067/ for some examples of how they're built to convert to the real GUID. -- sig://boB http://joyofsetup.com/ _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] Error on uninstall? - FIXED
It seems I messed up the conditional text on a custom action that was only to run during installation. It was running during uninstall too. As this action creates a file, in a directory that was just removed ... bad things happened. Anyway, all better now, thanks to everyone who spared this issue some brainwaves. Julie Campbell [EMAIL PROTECTED] -Original Message- From: Bob Arnson [mailto:[EMAIL PROTECTED] Sent: Friday, May 11, 2007 2:48 AM To: Julie Campbell Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Error on uninstall? Julie Campbell wrote: Here's what seems to be the applicable part of the log. The user error is something like one or more files needed for restoration cannot be found. Restoration is not possible. I haven't seen that error before but the log fragment below is part of the rollback script; it's MSI cleaning up its private data. The error is above it. I don't know what 19C29D7B9D408814D8EF629B9E4E4D76 is, it isn't a GUID I'm using. It's a compressed GUID. See http://support.microsoft.com/kb/296067/ for some examples of how they're built to convert to the real GUID. -- sig://boB http://joyofsetup.com/ _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] Error on uninstall?
Sorry it took so long to get back to you, I caught a bug, then another one ... long week. Here's what seems to be the applicable part of the log. The user error is something like one or more files needed for restoration cannot be found. Restoration is not possible. I don't know what 19C29D7B9D408814D8EF629B9E4E4D76 is, it isn't a GUID I'm using. --- MSI (s) (20:9C) [14:02:55:381]: Executing op: RegRemoveKey() MSI (s) (20:9C) [14:02:55:381]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\TempP ackages 3: 2 MSI (s) (20:9C) [14:02:55:391]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Classes\Installer\UpgradeCodes\6210 75F8DBF3E4E4DB29436882BE,,BinaryType=0) MSI (s) (20:9C) [14:02:55:391]: Executing op: RegAddValue(Name=19C29D7B9D408814D8EF629B9E4E4D76,,) MSI (s) (20:9C) [14:02:55:401]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Classes\Installer\Features\19C29D7B 9D408814D8EF629B9E4E4D76,,BinaryType=0) MSI (s) (20:9C) [14:02:55:401]: Executing op: RegRemoveKey() MSI (s) (20:9C) [14:02:55:401]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Classes\Installer\Features\19C29D7B9D408814D8EF6 29B9E4E4D76 3: 2 MSI (s) (20:9C) [14:02:55:401]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Classes\Installer\Products\19C29D7B 9D408814D8EF629B9E4E4D76,,BinaryType=0) MSI (s) (20:9C) [14:02:55:411]: Executing op: RegAddValue(Name=ProductName,Value=Keithley Test Script Builder Software Suite,) MSI (s) (20:9C) [14:02:55:411]: Executing op: RegAddValue(Name=PackageCode,Value=419209F45EE52DE429219AFDA3563FB0,) MSI (s) (20:9C) [14:02:55:421]: Executing op: RegAddValue(Name=Language,Value=#1033,) MSI (s) (20:9C) [14:02:55:421]: Executing op: RegAddValue(Name=Version,Value=#16777216,) MSI (s) (20:9C) [14:02:55:421]: Executing op: RegAddValue(Name=Assignment,Value=#1,) MSI (s) (20:9C) [14:02:55:431]: Executing op: RegAddValue(Name=AdvertiseFlags,Value=#388,) MSI (s) (20:9C) [14:02:55:431]: Executing op: RegAddValue(Name=InstanceType,Value=#0,) MSI (s) (20:9C) [14:02:55:441]: Executing op: RegAddValue(Name=AuthorizedLUAApp,Value=#0,) MSI (s) (20:9C) [14:02:55:441]: Executing op: RegAddValue(Name=Clients,Value=[~]:[~],) MSI (s) (20:9C) [14:02:55:441]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Classes\Installer\Products\19C29D7B 9D408814D8EF629B9E4E4D76\SourceList,,BinaryType=0) MSI (s) (20:9C) [14:02:55:451]: Executing op: RegAddValue(Name=PackageName,Value=TSBSuite.msi,) MSI (s) (20:9C) [14:02:55:451]: Executing op: RegAddValue(Name=LastUsedSource,Value=n;1;C:\,) MSI (s) (20:9C) [14:02:55:461]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Classes\Installer\Products\19C29D7B 9D408814D8EF629B9E4E4D76\SourceList\Net,,BinaryType=0) MSI (s) (20:9C) [14:02:55:461]: Executing op: RegAddValue(Name=1,Value=#%C:\,) MSI (s) (20:9C) [14:02:55:461]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Classes\Installer\Products\19C29D7B 9D408814D8EF629B9E4E4D76\SourceList\Media,,BinaryType=0) MSI (s) (20:9C) [14:02:55:471]: Executing op: RegAddValue(Name=1,Value=;,) MSI (s) (20:9C) [14:02:55:471]: Executing op: RegOpenKey(Root=-2147483646,Key=Software\Classes\Installer\Products\19C29D7B 9D408814D8EF629B9E4E4D76,,BinaryType=0) MSI (s) (20:9C) [14:02:55:471]: Executing op: End(Checksum=0,ProgressTotalHDWord=0,ProgressTotalLDWord=0) MSI (s) (20:9C) [14:02:55:471]: Error in rollback skipped. Return: 5 MSI (s) (20:9C) [14:02:55:511]: Unlocking Server MSI (s) (20:9C) [14:02:55:511]: PROPERTY CHANGE: Deleting UpdateStarted property. Its current value is '1'. Action ended 14:02:55: InstallFinalize. Return value 3. Action ended 14:02:55: INSTALL. Return value 3. Property(S): IVIDIRPROP = C:\Program Files\IVI\ --- Julie Campbell [EMAIL PROTECTED] -Original Message- From: Bob Arnson [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 02, 2007 11:24 PM To: Julie Campbell Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Error on uninstall? Julie Campbell wrote: I started getting an error on uninstallation a couple days and despite verbose logging have been unable to determine the cause. Something I've changed is the mostly likely culprit. Anyone have guidance? The verbose log gives me (error codes looked up from http://msdn2.microsoft.com/en-us/library/aa372835.aspx, numbers in log): 1302: Please insert the disk: [2] 1725: Removal failed. 1709: Product: [2] -- [3] There's probably another error lurking -- 1302 isn't necessarily a source prompt. Search the log for return value 3 -- that usually indicates the action that failed. -- sig://boB http://joyofsetup.com/ _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com
Re: [WiX-users] Custom Action works under WinXP-SP2, fails under Win2K?
Thanks Mike! The problem was that I needed to make it a deferred action. I had to do some reading and experimenting on that today, but I understand now what was happening and why. I'm working on demo-izing the reduced WiX installer I used while working on this. I'll put it here: http://www.mindcapers.com/wiki/Custom_Actions when I am done to help someone else later! Julie Campbell [EMAIL PROTECTED] -Original Message- From: Mike Dimmick [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 24, 2007 5:49 PM To: 'Julie Campbell'; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Custom Action works under WinXP-SP2,fails under Win2K? I suspect that the reason that the directory is not yet created is that Windows Installer hasn't actually started executing the script yet. When executing the InstallExecuteSequence, for standard actions and deferred custom actions sequenced after InstallInitialize, Windows Installer doesn't actually perform these actions at this point. Instead, it writes the actions that are to be performed into a script. If I recall correctly, this is still happpening under the process that began processing the package, under the user's credentials. However, non-deferred actions are executed immediately. When the InstallFinalize action is executed, it passes the script over to the Windows Installer service, which actually performs the actions recorded in the script (including calling deferred custom actions, in the order they were sequenced). (There are also InstallExecute and InstallExecuteAgain actions which I believe can be used to run the pending script up to the point that these actions are scheduled, then begin a new script). CreateShortcuts is probably scheduled between InstallInitialize and InstallFinalize (in fact it should be). Therefore it's in the script-writing execution phase and so your action is too. The action that would create the directory (probably InstallFiles but might be CreateFolders) haven't actually been performed yet. To fix, make your custom action deferred, move it after InstallFinalize, or make use of InstallExecute[Again] to interrupt the deferred script execution. I can only assume that it works on XP either because the folder already exists or that somehow that operating system is creating the whole path to the folder. -- Mike Dimmick -Original Message- From: Julie Campbell [mailto:[EMAIL PROTECTED] Sent: 24 April 2007 21:28 To: 'Mike Dimmick'; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Custom Action works under WinXP-SP2,fails under Win2K? No, cchIniName is initialized, I was just saving everyone an extra chunk of code that is working. Here is the function that initializes cchIniName and the other WiX property strings before the call to fopen_s: // NOTE: Caller responsible for freeing TCHAR * buffer if non-null return code TCHAR * __stdcall privMsiGetPropertyStr(MSIHANDLE hInstaller, TCHAR *strName) { TCHAR* szValueBuf = NULL; DWORD cchValueBuf = 0; UINT uiStat = ::MsiGetProperty(hInstaller, strName, TEXT(), cchValueBuf); if (ERROR_MORE_DATA == uiStat) { ++cchValueBuf; // output count does not include terminating null, so add 1 szValueBuf = new TCHAR[cchValueBuf]; if (szValueBuf) { uiStat = MsiGetProperty(hInstaller, strName, szValueBuf, cchValueBuf); } } if (ERROR_SUCCESS != uiStat) { if (szValueBuf != NULL) delete [] szValueBuf; return NULL; } return szValueBuf; } --- I copied that chunk of code from somewhere, excuse the poor use of Hungarian notation. If you look at what I am writing to this .ini file, you will notice that it has nothing to do with what a IniFile deal with. This is a .ini file that supplies java startup variable to Eclipse (actually, our customized version of Eclipse). Eclipse is very touchy and I am afraid to try a unicode file since it works with a text file. Heck, I wouldn't need this CA at all if Eclipse could figure out %WINDIR% in a path, but it can't. As I mentioned, this works GREAT under XP. Though this CA was quickly hacked together and leaves room for improvement, there is nothing intrinsically wrong with the CA code. It does what it is supposed to as long as the directory it is trying to write to exists before it tries to write the file to it. There is something wrong with the .msi sequencing that is baffling me, as that directory should exist long before it tries to execute my custom action. Julie Campbell [EMAIL PROTECTED] -Original Message- From: Mike Dimmick [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 24, 2007 4:17 PM To: 'Julie Campbell'; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Custom Action works under WinXP-SP2,fails under Win2K? Your call to fopen_s uses the uninitialised cchIniName buffer as the path name to open for writing. (BTW, misuse of Hungarian notation because this is _not_ a Count of Characters - use sz or psz for string-terminated-with-zero. If that's what you intended, of course.) You can also edit INI
[WiX-users] Custom Action works under WinXP-SP2, fails under Win2K?
My installer needs to work under WinXP and Win2K for this round. I wrote a custom action and it works great under WinXP but fails under Win2K and I cannot figure out why. I am using WiX v3.0.2420, both machines have Windows R Installer. V 3.01.4000.1823 installed. The custom action is in a C++ DLL, here is the action function: UINT __stdcall WriteTSBIni(MSIHANDLE hInstaller) { UINTrc = ERROR_SUCCESS; USES_CONVERSION; // Get the installation directory name TCHAR *cchWindowsFolder = privMsiGetPropertyStr(hInstaller, TEXT(WindowsFolder)); TCHAR *cchInstallDir = privMsiGetPropertyStr(hInstaller, TEXT(INSTALLDIR)); TCHAR *cchIviDir = privMsiGetPropertyStr(hInstaller, TEXT(IVIDIRPROP)); if (cchIviDir) { if (cchWindowsFolder) { if (cchInstallDir) { size_t szBuf= strlen(W2CA(cchInstallDir)) + strlen (Test Script Builder\\TestScriptBuilder.ini) + 1; char *cchIniName = new char[szBuf]; FILE *fIni; if (errno_t err = fopen_s(fIni, cchIniName, w)) { sprintf_s(cchIniName, szBuf, err=%d, err); return ERROR_INSTALL_FAILURE; } else { fprintf (fIni, -vmargs\r\n); fprintf (fIni, -Djava.lang.path=.;); fprintf (fIni, %s.;, W2A(cchIviDir)); fprintf (fIni, %s.;, W2A(cchWindowsFolder)); fprintf (fIni, %sSystem32\\.;\r\n, W2A(cchWindowsFolder)); fclose (fIni); } delete[] cchIniName; delete[] cchInstallDir; } delete[] cchWindowsFolder; } delete[] cchIviDir } return ERROR_SUCCESS; } --- The .wxs source snippet is: CustomAction Id=CAKE_WRITE_TSB_INI BinaryKey=CAKE_ACTIONS DllEntry=WriteTSBIni Return=check / InstallExecuteSequence Custom Action=CAKE_WRITE_TSB_INI After='CreateShortcuts'NOT Installed/Custom /InstallExecuteSequence --- I ran with the /la switch and got the same sequence on both machines, until after the CAKE_WRITE_TSB_INI action. I checked the sequencing with Orca, CAKE_WRITE_TSB_INI is in the InstallExecuteSequence table at #4501, right after CreateShortcuts as expected. The fopen_s error that I get under Win2K indicates the folder doesn't exist (2). I used message boxes to pause the custom action and checked, and despite being past that point in the log file and sequence, the directory indeed was non-existent. I have no idea what to try next or why this is behaving differently. Help? Julie Campbell [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] Custom Action works under WinXP-SP2, fails under Win2K?
fprintf writes to the file pointed to by cchIniName. Julie Campbell [EMAIL PROTECTED] -Original Message- From: Mike Dimmick [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 24, 2007 4:05 PM To: 'Julie Campbell'; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Custom Action works under WinXP-SP2, fails under Win2K? Did you miss a line out? You don't appear to have written to the buffer pointed to by cchIniName so it will be filled with garbage. The success or failure may depend on whether the junk in the buffer parses as a valid file name or not. I would strongly recommend using Unicode file name buffers and therefore _wfopen_s if you're targetting Windows NT-based operating systems only and not supporting Windows 9X. -- Mike Dimmick -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Julie Campbell Sent: 24 April 2007 20:43 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Custom Action works under WinXP-SP2, fails under Win2K? My installer needs to work under WinXP and Win2K for this round. I wrote a custom action and it works great under WinXP but fails under Win2K and I cannot figure out why. I am using WiX v3.0.2420, both machines have Windows R Installer. V 3.01.4000.1823 installed. The custom action is in a C++ DLL, here is the action function: UINT __stdcall WriteTSBIni(MSIHANDLE hInstaller) { UINTrc = ERROR_SUCCESS; USES_CONVERSION; // Get the installation directory name TCHAR *cchWindowsFolder = privMsiGetPropertyStr(hInstaller, TEXT(WindowsFolder)); TCHAR *cchInstallDir = privMsiGetPropertyStr(hInstaller, TEXT(INSTALLDIR)); TCHAR *cchIviDir = privMsiGetPropertyStr(hInstaller, TEXT(IVIDIRPROP)); if (cchIviDir) { if (cchWindowsFolder) { if (cchInstallDir) { size_t szBuf= strlen(W2CA(cchInstallDir)) + strlen (Test Script Builder\\TestScriptBuilder.ini) + 1; char *cchIniName = new char[szBuf]; FILE *fIni; if (errno_t err = fopen_s(fIni, cchIniName, w)) { sprintf_s(cchIniName, szBuf, err=%d, err); return ERROR_INSTALL_FAILURE; } else { fprintf (fIni, -vmargs\r\n); fprintf (fIni, -Djava.lang.path=.;); fprintf (fIni, %s.;, W2A(cchIviDir)); fprintf (fIni, %s.;, W2A(cchWindowsFolder)); fprintf (fIni, %sSystem32\\.;\r\n, W2A(cchWindowsFolder)); fclose (fIni); } delete[] cchIniName; delete[] cchInstallDir; } delete[] cchWindowsFolder; } delete[] cchIviDir } return ERROR_SUCCESS; } --- The .wxs source snippet is: CustomAction Id=CAKE_WRITE_TSB_INI BinaryKey=CAKE_ACTIONS DllEntry=WriteTSBIni Return=check / InstallExecuteSequence Custom Action=CAKE_WRITE_TSB_INI After='CreateShortcuts'NOT Installed/Custom /InstallExecuteSequence --- I ran with the /la switch and got the same sequence on both machines, until after the CAKE_WRITE_TSB_INI action. I checked the sequencing with Orca, CAKE_WRITE_TSB_INI is in the InstallExecuteSequence table at #4501, right after CreateShortcuts as expected. The fopen_s error that I get under Win2K indicates the folder doesn't exist (2). I used message boxes to pause the custom action and checked, and despite being past that point in the log file and sequence, the directory indeed was non-existent. I have no idea what to try next or why this is behaving differently. Help? Julie Campbell [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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 _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ - This SF.net email
Re: [WiX-users] Custom Action works under WinXP-SP2, fails under Win2K?
No, cchIniName is initialized, I was just saving everyone an extra chunk of code that is working. Here is the function that initializes cchIniName and the other WiX property strings before the call to fopen_s: // NOTE: Caller responsible for freeing TCHAR * buffer if non-null return code TCHAR * __stdcall privMsiGetPropertyStr(MSIHANDLE hInstaller, TCHAR *strName) { TCHAR* szValueBuf = NULL; DWORD cchValueBuf = 0; UINT uiStat = ::MsiGetProperty(hInstaller, strName, TEXT(), cchValueBuf); if (ERROR_MORE_DATA == uiStat) { ++cchValueBuf; // output count does not include terminating null, so add 1 szValueBuf = new TCHAR[cchValueBuf]; if (szValueBuf) { uiStat = MsiGetProperty(hInstaller, strName, szValueBuf, cchValueBuf); } } if (ERROR_SUCCESS != uiStat) { if (szValueBuf != NULL) delete [] szValueBuf; return NULL; } return szValueBuf; } --- I copied that chunk of code from somewhere, excuse the poor use of Hungarian notation. If you look at what I am writing to this .ini file, you will notice that it has nothing to do with what a IniFile deal with. This is a .ini file that supplies java startup variable to Eclipse (actually, our customized version of Eclipse). Eclipse is very touchy and I am afraid to try a unicode file since it works with a text file. Heck, I wouldn't need this CA at all if Eclipse could figure out %WINDIR% in a path, but it can't. As I mentioned, this works GREAT under XP. Though this CA was quickly hacked together and leaves room for improvement, there is nothing intrinsically wrong with the CA code. It does what it is supposed to as long as the directory it is trying to write to exists before it tries to write the file to it. There is something wrong with the .msi sequencing that is baffling me, as that directory should exist long before it tries to execute my custom action. Julie Campbell [EMAIL PROTECTED] -Original Message- From: Mike Dimmick [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 24, 2007 4:17 PM To: 'Julie Campbell'; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Custom Action works under WinXP-SP2,fails under Win2K? Your call to fopen_s uses the uninitialised cchIniName buffer as the path name to open for writing. (BTW, misuse of Hungarian notation because this is _not_ a Count of Characters - use sz or psz for string-terminated-with-zero. If that's what you intended, of course.) You can also edit INI files using the IniFile element which maps to a native Windows Installer feature. The type of the Value field is Formatted, so you should be able to substitute property values using [] within the field data. -- Mike Dimmick -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Julie Campbell Sent: 24 April 2007 21:09 To: 'Mike Dimmick'; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Custom Action works under WinXP-SP2,fails under Win2K? fprintf writes to the file pointed to by cchIniName. Julie Campbell [EMAIL PROTECTED] -Original Message- From: Mike Dimmick [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 24, 2007 4:05 PM To: 'Julie Campbell'; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Custom Action works under WinXP-SP2, fails under Win2K? Did you miss a line out? You don't appear to have written to the buffer pointed to by cchIniName so it will be filled with garbage. The success or failure may depend on whether the junk in the buffer parses as a valid file name or not. I would strongly recommend using Unicode file name buffers and therefore _wfopen_s if you're targetting Windows NT-based operating systems only and not supporting Windows 9X. -- Mike Dimmick -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Julie Campbell Sent: 24 April 2007 20:43 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Custom Action works under WinXP-SP2, fails under Win2K? My installer needs to work under WinXP and Win2K for this round. I wrote a custom action and it works great under WinXP but fails under Win2K and I cannot figure out why. I am using WiX v3.0.2420, both machines have Windows R Installer. V 3.01.4000.1823 installed. The custom action is in a C++ DLL, here is the action function: UINT __stdcall WriteTSBIni(MSIHANDLE hInstaller) { UINTrc = ERROR_SUCCESS; USES_CONVERSION; // Get the installation directory name TCHAR *cchWindowsFolder = privMsiGetPropertyStr(hInstaller, TEXT(WindowsFolder)); TCHAR *cchInstallDir = privMsiGetPropertyStr(hInstaller, TEXT(INSTALLDIR)); TCHAR *cchIviDir = privMsiGetPropertyStr(hInstaller, TEXT(IVIDIRPROP)); if (cchIviDir) { if (cchWindowsFolder) { if (cchInstallDir) { size_t szBuf= strlen(W2CA(cchInstallDir)) + strlen (Test Script Builder\\TestScriptBuilder.ini) + 1; char *cchIniName = new char[szBuf]; FILE *fIni; if (errno_t err = fopen_s(fIni, cchIniName, w
[WiX-users] Beginner's Tutorial, Books, Versions...
I'm a little late on the topic, but I didn't have access to my e-mail over the weekend. Like some others mentioned, I am a software engineer first and an installer person third or fourth ... some perspective, comments, ideas ... sorry, this is long. I started learning WiX in late 2006 after management finally came to the realization that our current installers (written by a third party) had no chance at all of working under Vista. After looking at InstallShield 12, Wise and WiX, I chose WiX for my emergency development, specifically v3 as I got the impression it was stable enough (and hasn't given me reason to doubt) for general application installers. The tutorial Gabor created and maintains was good to start out with and gave me that initial WiX is easy and I like it feeling. However, as it is for v2, it didn't cover some things I needed to know and other things didn't apply. There are several great WiX bloggers out there and some really awesome explanations of more advanced topics. However, I find searching for and reading blog entries a really painful way to come up a learning curve. So, I started reading the mailing list religiously and saved notes whenever I saw something I thought might be useful. I created and admin a very successful intranet MediaWiki site at work, so I started saving these notes on an intranet wiki of my own, because despite the creation and early promise of wixwiki.com, it is locked down very tightly, not really organized, I can't even find an e-mail address to request an account from (though I could probably search for rmacfadyen in wix-users), and there have been a whopping 5 changes in the last 60 days. Before I know it, I'm up to over 50 pages of rough notes and link collections (see http://www.mindcapers.com/wiki/WiX). I'm also seeing the same questions on this list over and over. I'm having to dig through WiX source code to answer some of my questions. I look for a book on WiX, there isn't one. With the WiX v3 roadmap looking like completion at the end of 2007, I'm thinking by then I'll move from competent user to expert with the demands ahead of me anyway. My 16 years of professional development gives me enough insight to how long this learning curve will take. I start considering writing a book for software developers to come up the intermediate learning curve to save some of the pain I went through (thank you Google for easing that effort!). As I started digging around more, and putting notes in a Word document, there are dozens (at least) of developers blogging about WiX. There is a Wiki. There is a mailing list. There are at least a couple people contemplating writing a book. So ... what I would really like to see is group effort on getting one superb set of documentation together rather than the hodge-podge of incomplete sources of information that exist today. I am willing to help, leading or following, doesn't matter. Any of the following would be great: * I am an excellent MediaWiki admin and could clean up, categorize and improve wixwiki.com given the opportunity. * I would be happy to migrate my non-duplicated WiX materials to wixwiki.com. * My wiki has open registration if the tightly locked down wixwiki.com site isn't loosened up a bit. * I would love collaborators on a book. I haven't written an entire book before, but I've got a good outline started and a knack for translating technical mumbo-jumbo into understandable explanations. I also have excellent organizational skills. However, there are some topics I have only glossed over (IIS, SQLServer, xmlconfig) as these aren't of immediate interest to me. Besides, it is a bit silly for a relative outsider to try to go it alone and re-create wheels that have already been rounded. A book probably isn't all that far off with go ahead and steal my blog entries as long as you consider me a contributor permission grants. It would also be silly not to have at least small pieces of book created by Rob, Bob and the other Wixperts. A wiki can be as good as a book if organized correctly. There are also MediaWiki extensions available to convert wiki sites into .chm files, which would be immensely useful for those of us that go off network for a few days at a time. I sent an e-mail to wixadmin quite a while ago asking for a release to sign and offering to assist with the help files, but never received a response. I have no idea whether that was due to my lack of karma or a bit-bucket e-mail address. Anyway, enough babbling from me. What would you like to see? I seem to be set of creating or improving *something*, for my own use if nothing else, might as well make it easier on myself and share with the world at the same time. Julie Campbell [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com
Re: [WiX-users] Where to install samples
You could just create a component under that directory that only contains the RemoveFile element, i.e., RemoveFolder Id='MyFolder' On='uninstall'/ Julie Campbell [EMAIL PROTECTED] Message: 1 Date: Thu, 19 Apr 2007 09:50:37 -0700 From: Quinton Tormanen [EMAIL PROTECTED] Subject: Re: [WiX-users] Where to install samples To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii Adding the shortcut satisfies my needs. Thanks for the tip! After some minor struggles, I've got that working. However, as part of the process I moved my two shortcuts (one to the online help, and the new one to the samples folder) into a folder named RMCLink Component under ProgramMenuFolder. Now I get warning ICE064 about needing RemoveFile for this new folder. What is the correct way to do this using WiX? Should I add a RemoveFolder element to each component that puts stuff into this folder? --Quinton _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] Sequence of Install?
You should be using InstallExecuteSequence rather than InstallUISequence. While InstallExecuteSequence is always consulted by the installer to determine the actions, InstallUISequence is only considered when the installer runs in full or reduced UI mode. Then, on each Custom element, use the After attribute to specify when you want your action to be executed, i.e.: InstallExecuteSequence Custom Action=WriteFile After=CreateFoldersNOT Installed/Custom /InstallExecuteSequence http://msdn2.microsoft.com/en-us/library/aa369500.aspx http://msdn2.microsoft.com/en-us/library/aa372038.aspx Julie Campbell [EMAIL PROTECTED] -Original Message- -- Message: 3 Date: Thu, 19 Apr 2007 10:49:23 -0700 (PDT) From: JCWrs [EMAIL PROTECTED] Subject: [WiX-users] Sequence of Install? To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii Ok, I have an installer with 2 custom actions I want to run AFTER all the files have been installed on the target computer. I thought that by using an InstallUISequence that had them run after ProgressDialog that would occur, but no such luck. Each time I run the installer my second CA fails because the files are not there yet (I get the error message while the ProgressDialog box is still up). I cannot schedule the CA's before the ExitDialog or I get an error and there are no other Dialogs between the 2. Is there another way to schedule these to get the result or do I need to add a dialog between the 2? As always, thanks for the help. _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] Error in German?
Kevin, just ideas I haven't tried but could be a workaround(s) for you: Reset the PRODUCTLANGUAGE property yourself (hokey, but perhaps useful in the short term). Look at where in the install sequence the other thing is setting it, that might give you a clue as well. Julie Campbell [EMAIL PROTECTED] --- Message: 5 Date: Sun, 15 Apr 2007 11:26:59 -0500 From: Kevin Burton [EMAIL PROTECTED] Subject: Re: [WiX-users] Error in German? To: 'Bob Arnson' [EMAIL PROTECTED] Cc: 'WiX-users' wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii Any hints on how I tell who is setting this property? -Original Message- From: Bob Arnson [mailto:[EMAIL PROTECTED] Sent: Saturday, April 14, 2007 8:02 PM To: Kevin Burton Cc: 'WiX-users' Subject: Re: [WiX-users] Error in German? Kevin Burton wrote: There are no custom actions in the .wxs file and the only language specific thing that is being set is via the Product element and the Language attribute. WiX sets the ProductLanguage property from Product/@Language. It doesn't set a PRODUCTLANGUAGE property. -- sig://boB http://bobs.org _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] Feature Ordering?
Is there a way to explicitly set the ordering of sub-features? Mine keep getting alphabetized in the following code segment, which doesn't match the picture the marketing guys want: Feature Id='Express' Title='!(loc.TSBSuite)' Description='(!Loc.TSBSuiteDescr)' Display='expand' ConfigurableDirectory='INSTALLDIR' Level='1' ComponentRef Id=IDProgramGroup / FeatureRef Id=TestScriptBuilderCore / FeatureRef Id=TestScriptBuilderRec / FeatureRef Id=KE26xx / FeatureRef Id=KE37xx / /Feature Gives me a tree like so: TSBSuite TestScriptBuilderCore KE26xx KE37xx TestScriptBuilderRec When what I want is this: TSBSuite TestScriptBuilderCore TestScriptBuilderRec KE26xx KE37xx If not, can anyone tell me what the ordering is based on so I can manipulate whatever accordingly? Julie Campbell [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] ICE38 error
I got the same error doing the same thing until I added the RegistryValue element as shown below: Directory Id='ProgramMenuFolder' Name='ProgramMenuFolder' Directory Id='IDProgramGroup' Name='Company' Component Id='IDProgramGroup' Guid='insert Guid here' RemoveFolder Id='IDProgramGroup' On='uninstall'/ RegistryValue Root='HKCU' Key='SOFTWARE\Company\MyApp' Type='string' Value='Hello World' KeyPath='yes' / /Component /Directory /Directory Hope this helps! Julie Campbell [EMAIL PROTECTED] -- Message: 6 Date: Tue, 10 Apr 2007 01:17:46 -0400 From: Patrick Schmid [EMAIL PROTECTED] Subject: [WiX-users] ICE38 error To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii I am trying to install my application in a folder under the user profile. When I use AppDataFolder or LocalAppDataFolder, I keep getting ICE38 error messages for all my components. The error message tells me that I need to use a key in HKCU as KeyPath, not a file. What kind of key is it asking for? I am only trying to copy files to a folder and really have no clue what HKCU key I should be creating to make this work. Thanks, Patrick Schmid _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] Create MSBuild boostrap event to install Office
I stumbled across a way accidentally while I was trying to get my bootstrapper working, but I can't reproduce now. I thought it was the Path parameter of the GenerateBootstrapper task, but that isn't working for me at the moment. Here is the documentation: http://msdn2.microsoft.com/en-us/library/ms164294.aspx I feel your pain. I'm going to have to setup another Perforce depot and do a lot of explaining for these packages unless perhaps someone else can shed some light on the matter. Julie Campbell [EMAIL PROTECTED] -Original Message- From: Chris Bardon [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 10, 2007 9:19 AM To: Julie Campbell; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Create MSBuild boostrap event to install Office Yes, that does help-thanks Julie! I got the PIAs working by adding to the SDK directory like you mentioned. Is there no way to get VS/MSBuild to look in a different location for the bootstrapper packages? Just thinking about setting up multiple developers with the ability to build the installers, which means that I'll need to distribute the bootstrapper packages now. I suppose I could just create an MSI for them if I really needed to :) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Julie Campbell Sent: Monday, April 09, 2007 4:09 PM To: 'Julie Campbell'; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Create MSBuild boostrap event to install Office My apologies, my finger was faster on the Send button than my eyes were at noticing I forgot to change the subject line. Julie -Original Message- From: Julie Campbell [mailto:[EMAIL PROTECTED] Sent: Monday, April 09, 2007 4:07 PM To: 'wix-users@lists.sourceforge.net' Subject: RE: WiX-users Digest, Vol 11, Issue 46 I don't know anything about PIA's, but if you have a .msi that you need to add to a bootstrapper, you want to create a directory in your VS-SDK directory as you mentioned. What goes in this directory is sometimes called Bootstrapper Manifests, sometimes called Bootstrapper Package. The directory structure should be something like (where SDK:\ = C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\) SDK:\Packages\MyPackage\product.xml SDK:\Packages\MyPackage\MyPackage.msi SDK:\Packages\MyPackage\en\package.xml The product.xml is going to look something like this one I created for IVI Shared Components: ?xml version=1.0 encoding=utf-8 ? !-- Set appropriate ProductCode -- Product xmlns=http://schemas.microsoft.com/developer/2004/01/bootstrapper; ProductCode=Ivi.SharedComponents.1.4.0 !-- Reference your MSI package file -- PackageFiles CopyAllPackageFiles=true PackageFile Name=IviSharedComponents1.4.0.msi/ /PackageFiles !-- Skip installation if MSI is installed on the system -- InstallChecks MsiProductCheck Property=IsMSIInstalled Product={99A125D2-366A-49BE-A144-B6CFB9668A90}/ /InstallChecks Commands Reboot=Defer Command PackageFile=IviSharedComponents1.4.0.msi Arguments= InstallConditions BypassIf Property=IsMSIInstalled Compare=ValueGreaterThan Value=1/ /InstallConditions ExitCodes !-- Standard Windows Installer return codes -- ExitCode Value=0 Result=Success/ ExitCode Value=1641 Result=SuccessReboot/ ExitCode Value=3010 Result=SuccessReboot/ DefaultExitCode Result=Fail FormatMessageFromSystem=false String=GeneralFailure / /ExitCodes /Command /Commands /Product The package.xml is going to look something like this corresponding file: ?xml version=1.0 encoding=utf-8 ? Package xmlns=http://schemas.microsoft.com/developer/2004/01/bootstrapper; Name=DisplayName Culture=en !-- TODO: Define strings -- Strings String Name=DisplayNameIVI Shared Components 1.4.0/String String Name=Cultureen/String String Name=GeneralFailureA fatal error occurred during the installation of [Your Package]/String /Strings /Package Now, you have the Bootstrapper Package ready to be included in a bootstrapper. No compilation, registration, etc., required to get to this point. I do this by hand, though the Bootstrapper Manifest Generator may get you to the same point (I don't like the tool, the GUI is all weird on my display). To include this in a bootstrapper, you are going to have a bootstrapper source file something like this, however you got there: Project xmlns=http://schemas.microsoft.com/developer/msbuild/2003; ItemGroup !-- Include the 'Product Code' for every package you want -- BootstrapperFile Include=Microsoft.Net.Framework.2.0 / BootstrapperFile Include=Ivi.SharedComponents.1.4.0 / /ItemGroup Target Name
Re: [WiX-users] WiX-users Digest, Vol 11, Issue 46
I don't know anything about PIA's, but if you have a .msi that you need to add to a bootstrapper, you want to create a directory in your VS-SDK directory as you mentioned. What goes in this directory is sometimes called Bootstrapper Manifests, sometimes called Bootstrapper Package. The directory structure should be something like (where SDK:\ = C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\) SDK:\Packages\MyPackage\product.xml SDK:\Packages\MyPackage\MyPackage.msi SDK:\Packages\MyPackage\en\package.xml The product.xml is going to look something like this one I created for IVI Shared Components: ?xml version=1.0 encoding=utf-8 ? !-- Set appropriate ProductCode -- Product xmlns=http://schemas.microsoft.com/developer/2004/01/bootstrapper; ProductCode=Ivi.SharedComponents.1.4.0 !-- Reference your MSI package file -- PackageFiles CopyAllPackageFiles=true PackageFile Name=IviSharedComponents1.4.0.msi/ /PackageFiles !-- Skip installation if MSI is installed on the system -- InstallChecks MsiProductCheck Property=IsMSIInstalled Product={99A125D2-366A-49BE-A144-B6CFB9668A90}/ /InstallChecks Commands Reboot=Defer Command PackageFile=IviSharedComponents1.4.0.msi Arguments= InstallConditions BypassIf Property=IsMSIInstalled Compare=ValueGreaterThan Value=1/ /InstallConditions ExitCodes !-- Standard Windows Installer return codes -- ExitCode Value=0 Result=Success/ ExitCode Value=1641 Result=SuccessReboot/ ExitCode Value=3010 Result=SuccessReboot/ DefaultExitCode Result=Fail FormatMessageFromSystem=false String=GeneralFailure / /ExitCodes /Command /Commands /Product The package.xml is going to look something like this corresponding file: ?xml version=1.0 encoding=utf-8 ? Package xmlns=http://schemas.microsoft.com/developer/2004/01/bootstrapper; Name=DisplayName Culture=en !-- TODO: Define strings -- Strings String Name=DisplayNameIVI Shared Components 1.4.0/String String Name=Cultureen/String String Name=GeneralFailureA fatal error occurred during the installation of [Your Package]/String /Strings /Package Now, you have the Bootstrapper Package ready to be included in a bootstrapper. No compilation, registration, etc., required to get to this point. I do this by hand, though the Bootstrapper Manifest Generator may get you to the same point (I don't like the tool, the GUI is all weird on my display). To include this in a bootstrapper, you are going to have a bootstrapper source file something like this, however you got there: Project xmlns=http://schemas.microsoft.com/developer/msbuild/2003; ItemGroup !-- Include the 'Product Code' for every package you want -- BootstrapperFile Include=Microsoft.Net.Framework.2.0 / BootstrapperFile Include=Ivi.SharedComponents.1.4.0 / /ItemGroup Target Name=Bootstrapper GenerateBootstrapper BootstrapperItems=@(BootstrapperFile) ComponentsLocation=Relative CopyComponents=true / /Target /Project To build from the command line: Msbuild /val mybootstrapper.xml Hope this helps! Julie Campbell [EMAIL PROTECTED] (440) 498-3081 -Original Message- -- Message: 3 Date: Mon, 9 Apr 2007 13:55:59 -0400 From: Chris Bardon [EMAIL PROTECTED] Subject: [WiX-users] Create MSBuild boostrap event to install Office PIAs To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii I was looking at the wiki article here (http://www.wixwiki.com/index.php?title=Deploying_Additional_Components) on bootstrapping, and I need to be able to extend the bootstrapper with my own component for the Office 2003 and 2007 PIAs. I checked out the tool from gotdotnet to generate the XML, but now I'm not sure what it's actually generating. Do I need to create my own directory and product XML file in the VS install directory (C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\), or do I just need to have a manifest in the project directory that points to the file location? I'm assuming that for the office PIAs there's no homesite that I can set to have them auto download, and that I'll have to include the MSI with my redistributable, correct? Also, does anyone know if there's any danger in adding both the 2003 and 2007 PIAs as prerequisites if I want to support both versions? The assembly installers should only install what's appropriate, correct (I'm guessing that's why these are MSIs and not MSMs in the first place). Thanks, Chris
Re: [WiX-users] Create MSBuild boostrap event to install Office
My apologies, my finger was faster on the Send button than my eyes were at noticing I forgot to change the subject line. Julie -Original Message- From: Julie Campbell [mailto:[EMAIL PROTECTED] Sent: Monday, April 09, 2007 4:07 PM To: 'wix-users@lists.sourceforge.net' Subject: RE: WiX-users Digest, Vol 11, Issue 46 I don't know anything about PIA's, but if you have a .msi that you need to add to a bootstrapper, you want to create a directory in your VS-SDK directory as you mentioned. What goes in this directory is sometimes called Bootstrapper Manifests, sometimes called Bootstrapper Package. The directory structure should be something like (where SDK:\ = C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\) SDK:\Packages\MyPackage\product.xml SDK:\Packages\MyPackage\MyPackage.msi SDK:\Packages\MyPackage\en\package.xml The product.xml is going to look something like this one I created for IVI Shared Components: ?xml version=1.0 encoding=utf-8 ? !-- Set appropriate ProductCode -- Product xmlns=http://schemas.microsoft.com/developer/2004/01/bootstrapper; ProductCode=Ivi.SharedComponents.1.4.0 !-- Reference your MSI package file -- PackageFiles CopyAllPackageFiles=true PackageFile Name=IviSharedComponents1.4.0.msi/ /PackageFiles !-- Skip installation if MSI is installed on the system -- InstallChecks MsiProductCheck Property=IsMSIInstalled Product={99A125D2-366A-49BE-A144-B6CFB9668A90}/ /InstallChecks Commands Reboot=Defer Command PackageFile=IviSharedComponents1.4.0.msi Arguments= InstallConditions BypassIf Property=IsMSIInstalled Compare=ValueGreaterThan Value=1/ /InstallConditions ExitCodes !-- Standard Windows Installer return codes -- ExitCode Value=0 Result=Success/ ExitCode Value=1641 Result=SuccessReboot/ ExitCode Value=3010 Result=SuccessReboot/ DefaultExitCode Result=Fail FormatMessageFromSystem=false String=GeneralFailure / /ExitCodes /Command /Commands /Product The package.xml is going to look something like this corresponding file: ?xml version=1.0 encoding=utf-8 ? Package xmlns=http://schemas.microsoft.com/developer/2004/01/bootstrapper; Name=DisplayName Culture=en !-- TODO: Define strings -- Strings String Name=DisplayNameIVI Shared Components 1.4.0/String String Name=Cultureen/String String Name=GeneralFailureA fatal error occurred during the installation of [Your Package]/String /Strings /Package Now, you have the Bootstrapper Package ready to be included in a bootstrapper. No compilation, registration, etc., required to get to this point. I do this by hand, though the Bootstrapper Manifest Generator may get you to the same point (I don't like the tool, the GUI is all weird on my display). To include this in a bootstrapper, you are going to have a bootstrapper source file something like this, however you got there: Project xmlns=http://schemas.microsoft.com/developer/msbuild/2003; ItemGroup !-- Include the 'Product Code' for every package you want -- BootstrapperFile Include=Microsoft.Net.Framework.2.0 / BootstrapperFile Include=Ivi.SharedComponents.1.4.0 / /ItemGroup Target Name=Bootstrapper GenerateBootstrapper BootstrapperItems=@(BootstrapperFile) ComponentsLocation=Relative CopyComponents=true / /Target /Project To build from the command line: Msbuild /val mybootstrapper.xml Hope this helps! Julie Campbell [EMAIL PROTECTED] (440) 498-3081 -Original Message- -- Message: 3 Date: Mon, 9 Apr 2007 13:55:59 -0400 From: Chris Bardon [EMAIL PROTECTED] Subject: [WiX-users] Create MSBuild boostrap event to install Office PIAs To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=us-ascii I was looking at the wiki article here (http://www.wixwiki.com/index.php?title=Deploying_Additional_Components) on bootstrapping, and I need to be able to extend the bootstrapper with my own component for the Office 2003 and 2007 PIAs. I checked out the tool from gotdotnet to generate the XML, but now I'm not sure what it's actually generating. Do I need to create my own directory and product XML file in the VS install directory (C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\), or do I just need to have a manifest in the project directory that points to the file location? I'm assuming that for the office PIAs there's no homesite that I can set to have them auto download, and that I'll have to include the MSI with my redistributable, correct? Also
Re: [WiX-users] Localizing WixUI in 3.0 - error LGHT0100 :The localization identifier xxx has been duplicated in
My apologies if this has already been answered, but I did skim all the digests since the one this was in looking for an answer. With the caveat that I setup the localization to the default (en-us), this works for me (simplified here): light -cultures:en-us -loc lang\en-us\prod_en-us.wxl -ext WixUIExtension ...wixlibs... prod.wixobj -out prod.msi where my prod_en-us.wxl looks like this: ?xml version='1.0'? WixLocalization Culture='en-us' xmlns='http://schemas.microsoft.com/wix/2006/localization' String Id='LANG'1033/String String Id='CreateDesktopShortcut'Create Desktop shortcut/String String Id='CreateStartMenuShortcut'Create shortcut in the Start Menu/String String Id='CreateProgramGroupShortcut'Create a Program Group with a shortcut/String /WixLocalization I am wondering why you have a strings.xml file and a .wxl file, that doesn't make sense. Julie [EMAIL PROTECTED] -Original Message- Message: 4 Date: Sat, 31 Mar 2007 10:55:40 +0200 From: Zsolt Soczo [EMAIL PROTECTED] Subject: Re: [WiX-users] Localizing WixUI in 3.0 - error LGHT0100 : The localization identifier xxx has been duplicated in multiple locations. To: wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=ISO-8859-1; format=flowed No one ever tried to localize WixUI in 3.0? I'm afraid I have to debug light.exe. :( Zsolt Soczo On 3/29/07, Zsolt Soczo [EMAIL PROTECTED] wrote: I tried to localize the WixUI, but it seems I don't know ho to do that. I used the following command line: light.exe MyInstaller.wixobj -ext WixUIExtension -loc strings.xml -loc WixUI_%CULTURE%.wxl -cultures:%CULTURE% -out %1 Where strings.xml contains my custom localized strings. I got 520 errors: WixUIExtension.dll : error LGHT0100 : The localization identifier xxx has been duplicated in multiple locations. Please resolve the conflict. What is the correct way to localize WixUIExtension in 3.0? Regards, Zsolt Soczo _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] Wix Coding Standards
Personally, I ... * Use 4-space indenting on any child * If the attributes get to unwieldly to have on a single line, I put each one on a separate line, indented 8-spaces from the tag start. * I match the indentation of the close tag with the open tag. A snippet: Julie [EMAIL PROTECTED] Message: 4 Date: Wed, 14 Mar 2007 09:45:51 -0700 From: Rob Mensching [EMAIL PROTECTED] Subject: Re: [WiX-users] Wix Coding Standards To: Anand [EMAIL PROTECTED], wix-users@lists.sourceforge.net wix-users@lists.sourceforge.net Message-ID: [EMAIL PROTECTED] MSG.exchange.corp.microsoft.com Content-Type: text/plain; charset=us-ascii I'm working on a mini-document that talks about CustomAction best practices that I'll eventually post on my blog (lots of stuff to cover). I haven't seen anything that talks about good ways to organize WiX source code. What do other people do? _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] Wix Coding Standards
(Continued, sorry, hit the send key accidently) Directory Id='TSBDIR' Name='Test Script Builder' Component Id='TSB' Guid='0B3BEB7B-7822-498F-A599-F4509514FE45' File Id='TestScriptBuilderEXE' Name='TestScriptBuilder.exe' Source=C:\PlatformESP\TSB\Deliverables\TestScriptBuilder.exe / File Id='TestScriptBuilderINI' Name='TestScriptBuilder.ini' Source=C:\PlatformESP\TSB\Distros\TestScriptBuilder.ini / Shortcut Id='StartMenu_Shortcut' Name='TestScriptBuilder' Directory='StartMenuFolder' Icon='TSB.exe' IconIndex='0' WorkingDirectory='TSBDIR' Advertise='yes' / Shortcut Id='PM_Shortcut' Name='TestScriptBuilder' Directory='IDProgramGroup' Icon='TSB.exe' IconIndex='0' WorkingDirectory='TSBDIR' Advertise='yes' / /Component Julie [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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
[WiX-users] Shortcuts and Properties
I am trying to add shortcuts to my WiX Installer (WiX V3.0.2420.0). These shortcuts are both in a fragment .wxs file. The file candle's and lit's with no errors or warnings. This works: Shortcut Id='TSB_Shortcut' Name='TestScriptBuilder' Directory='StartMenuFolder' Icon='TSB.exe' IconIndex='0' Advertise = 'yes' / This does not: Shortcut Id='TSB_Shortcut' Name='TestScriptBuilder' Directory='ProgramMenuFolder' Icon='TSB.exe' IconIndex='0' Advertise = 'yes' / The error I get is: C:\PlatformESP\TSB\WiX\Frag_KTSB.wxs(19) : error LGHT0094 : Unresolved reference to symbol 'Directory:ProgramMenuFolder' in section 'Fragment:KTSB'. I got both directory property names from here: http://msdn2.microsoft.com/en-us/library/aa372057.aspx Help? Julie [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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] Shortcuts and Properties
Nope, that was the problem, thanks! Note to self: don't use property names as Directory Id's in the future, you'll just confuse yourself. ;) Julie [EMAIL PROTECTED] -Original Message- From: Rob Mensching [mailto:[EMAIL PROTECTED] Sent: Thursday, March 08, 2007 4:11 PM To: Julie Campbell; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Shortcuts and Properties Did you define a Directory with @Id ProgramMenuFolder? -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Julie Campbell Sent: Thursday, March 08, 2007 11:33 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Shortcuts and Properties I am trying to add shortcuts to my WiX Installer (WiX V3.0.2420.0). These shortcuts are both in a fragment .wxs file. The file candle's and lit's with no errors or warnings. This works: Shortcut Id='TSB_Shortcut' Name='TestScriptBuilder' Directory='StartMenuFolder' Icon='TSB.exe' IconIndex='0' Advertise = 'yes' / This does not: Shortcut Id='TSB_Shortcut' Name='TestScriptBuilder' Directory='ProgramMenuFolder' Icon='TSB.exe' IconIndex='0' Advertise = 'yes' / The error I get is: C:\PlatformESP\TSB\WiX\Frag_KTSB.wxs(19) : error LGHT0094 : Unresolved reference to symbol 'Directory:ProgramMenuFolder' in section 'Fragment:KTSB'. I got both directory property names from here: http://msdn2.microsoft.com/en-us/library/aa372057.aspx Help? Julie [EMAIL PROTECTED] _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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 _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.com _ _ Scanned by IBM Email Security Management Services powered by MessageLabs. For more information please visit http://www.ers.ibm.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