[WiX-users] Read Value from Registry and use it for the Filename of a File
Hi everybody! I have been searching for a solution for my problem for a long time, but I still don't know, how to do: I want do read out the Windows System Language Code from the registry. This value can be found at this registry path: HKCU\Control Panel\International\sLanguage E.g. the value is 'DEA' for German/Austria or ENU for English/USA. I want to read out this value from the registry and use this String-Value as the extension for a File, e.g. Filename.DEA or Filename.ENU. I can read out the value of the registry with this code: Property Id=LANGUAGE RegistrySearch Id=LANGUAGE Type=raw Root=HKCU Key=Control Panel\International\ Name=sLanguage / /Property But how to put it as the extension now? I don't know, how to make use of the Property LANGUAGE! Writing Filename.[LANGUAGE] as the Name of the File does not work. Do I have to put the Property LANGUAGE into a variable? But how to do so? Best greetings and thanks, Martin! -- View this message in context: http://www.nabble.com/Read-Value-from-Registry-and-use-it-for-the-Filename-of-a-File-tf4108565.html#a11683531 Sent from the wix-users mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Read out value from Registry and put it as String to a Filename
Hi everybody! I have been searching for a solution for my problem for a long time, but I still don't know, how to do: I want do read out the Windows System Language Code from the registry. This value can be found at this registry path: HKCU\Control Panel\International\sLanguage E.g. the value is 'DEA' for German/Austria or ENU for English/USA. I want to read out this value from the registry and use this String-Value as the extension for a File, e.g. Filename.DEA or Filename.ENU. I can read out the value of the registry with this code: Property Id=LANGUAGE RegistrySearch Id=LANGUAGE Type=raw Root=HKCU Key=Control Panel\International\ Name=sLanguage / /Property But how to put it as the extension now? I don't know, how to make use of the Property LANGUAGE! Writing Filename.[LANGUAGE] as the Name of the File does not work. Do I have to put the Property LANGUAGE into a variable? But how to do so? Best greetings and thanks, Martin! -- Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten Browser-Versionen downloaden: http://www.gmx.net/de/go/browser - 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] Searching text files
I have a global property that I'd like to initialize to a value found within a line of text, in a text file. This file is close to an ini-file format, except that it doesn't have section headers, so I'm not sure that I can use IniFileSearch (the compiler keeps complaining about a null or missing section header). Also, are there any methods to parse/split strings? I have a line such as: naming.provider.url=xxx://127.0.0.1:1099 , where I want to be able to retrieve the text 127.0.0.1. - 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] Populating Listbox from a custom action
Thanks for all the replies however it's not the inclusion of the listbox table - that is most definitely there. And I can populate it as well. The problem is trying to achieve the behavior corresponding to Control Id=FilledListbox Type=ListBox Sorted=yes Property=LISTBOXVALUES X=10 Y=79 Width=200 Height=52 ListBox Property=LISTBOXVALUES / ListItem Text=This is listitem1 Value=LI1 / ListItem Text=This is listitem2 Value=LI2 / /ListBox /Control but by using the wcautil.lib Currently I'm using WcaAddTempRecord(hTable, hColumns, LListBox, 0, 3, LLISTBOXVALUES, 1, LItem 1); Essentially copied from the tutorial on http://www.tramontana.co.hu/wix/lesson10.php http://www.tramontana.co.hu/wix/lesson10.php This means that when a user selects Item 1 the LISTBOXVALUES property is set to Item 1. What I would actually want it set to would be 1. Is there any way to do this by using wcautil? But I can't seem to find any documentation on wcautil.lib anywhere, so I'm rather stuck it seems. -- View this message in context: http://www.nabble.com/Populating-Listbox-from-a-custom-action-tf4104235.html#a11684859 Sent from the wix-users mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Help to create quick launch shortcut
I'm a newby in WIX,lookin for a way to create a quick launch shortcut feature as part of my installer. For desktop and start menu shortcuts, i see there is DesktopFolder and ProgramMenuDir properties available but couldn't find a similar one for quick launch shortcut.. any help will be appreciated TIA Anidil -- View this message in context: http://www.nabble.com/Help-to-create-quick-launch-shortcut-tf4109389.html#a11685778 Sent from the wix-users mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] How to deploy all the files inside the folder rather than specifying each files
Hi, I need to specify contents of whole directory needs to be installed instead specifying each file names. Currently i am using like mentioned below: ... ... ... ... I need to specify all the files. Problem any file is being added to the directory again i need to add the file in the wxs source. Is there a to specify the directory instead of files? Your help will be greatly appreciate. Thanks in advance. Regards, Lingappa -- View this message in context: http://www.nabble.com/How-to-deploy-all-the-files-inside-the-folder-rather-than-specifying-each-files-tf4109546.html#a11686200 Sent from the wix-users mailing list archive at Nabble.com. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Help to create autorun feature
Hi all Can anyone suggest me a way to create autorun feature using WIX TIA Anidil - 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] Companion Files
Hi, I'm trying to set the CompanionFile attribute of a file, something like this: Component File Id=parent ... KeyPath=yes / File Id=companion Companion=parent / /Component This doesn't seem to work. If I look at the generated File table, the companion file contains its version, not 'parent' as I would expect. Am I using the CompanionFile attribute correctly? Cheers, John - 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] New to wix 3.0 ( 3.0.2925.0)
Hello everyone, We are stating using WiX. I'm searching for some help about how to structure our wxs file. We have a lot (more than 60K) files. The format we use currently is one file per component and one feature containing all the components. I have to build patch between minor version that remove, update and add new files. Is there any best practices or suggestions? I did some tests. I correctly generated a setup. I tried the patching system with pyro. I based my Patch.wxs on the Peter Marcu's Blog sample. My sample did work but it's took long time to generate the patch for only one file modified. Pyro looks to do a binary compare on each file can we specify to check if the file date have changed if not skip to the next file? Now I'm trying with a smaller set of files to test removed files and added files into a patch but I get this error C:\delivery\Dev\wix\src\ext\uiextension\wixlib\Common.wxs(73) : error PYRO0103 : The system cannot find the file 'C:\delivery\Target\wix\x86\ship\lang-neutral\PrintEula.dll'. I'm currently updating my sdk to build wix. And get the dll Thanks you for yours advices. Best Regards, Patrice Lamarche There is a sample of my wxs Setup.wxs ?xml version=1.0 encoding=utf-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Product Id={955BA1D1-594E-4678-AD9B-785038FEBC47} Language=1033 Manufacturer=Blabla Inc. Name=v1.00.00 UpgradeCode={DD431266-3725-4BBB-902A-936CDFD95CA5} Version=1.00.00 Package Compressed=yes InstallerVersion=300 / Upgrade Id={DD431266-3725-4BBB-902A-936CDFD95CA5} UpgradeVersion OnlyDetect='yes' Property='PATCHFOUND' Minimum='1.00.00' IncludeMinimum='yes' Maximum='1.00.00' IncludeMaximum='yes' / UpgradeVersion OnlyDetect='yes' Property='NEWERFOUND' Minimum='1.00.00' IncludeMinimum='no' / /Upgrade Directory Id='TARGETDIR' Name='SourceDir' Directory Id='ProgramFilesFolder' Name='PFiles' Directory Id='Blabla' Name='Blabla' Directory Id='INSTALLDIR' Name='Bla' Directory Id=data_1 Name=Data Component Id=bla.build_1 Guid={6CB5A96B-2470-4F61-A237-8B8FC9853BCC} File Id=bla.build_1 Name=bla.build KeyPath=yes Source=x:\Data\bla.build DiskId=1 / /Component Component Id=bladata.build_1 Guid={7743C10F-109D-4209-9B67-361D24AB3D21} File Id=bladata.build_1 Name=blaData.build KeyPath=yes Source=x:\blaData.build DiskId=1 / /Component Component Id=bladata.ss.build_1 Guid={FD92FBF9-BAF0-4730-A263-CC646B91914D} File Id=bladata.ss.build_1 Name=blaData.ss.build KeyPath=yes Source=x:\blaData.ss.build DiskId=1 / /Component .. Feature Id=bla Level=1 Title=Bla 1.00.00 ComponentRef Id=log4net.appender.appenderskeleton.activateoptions.html_1 / ComponentRef Id=banksinmultibootdlg.cpp_1 / ComponentRef Id=gxtevbias.html_1 / ComponentRef Id=log4net.core.logimpl.errorformat_overload_3.html_1 / ComponentRef Id=t_5_025.cpp_1 / ComponentRef Id=test_list.vcproj_1 / ComponentRef Id=doc2.htm_1 / . Patch.wxs ?xml version=1.0 encoding=UTF-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Patch AllowRemoval=yes Manufacturer=Bla MoreInfoURL=http://www.bla.com/; DisplayName=Bla 1.00.00 to 1.00.01 Description=Patch Sample Classification=Update Media Id=5000 Cabinet=RTM.cab PatchBaseline Id=RTM/ /Media PatchFamilyRef Id=BlaPatch/ /Patch Fragment PatchFamily Id=BlaPatch Version='1.00.01' Supersede='yes' /PatchFamily /Fragment /Wix - 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] Got the msi I wanted working
Hi, finally I have been able to take the time and read this list, the tuorial and the help file carefully. I seem to have everything working as intended. I only have a few warnings when running msival2. I am not sure if I should be bothered because of warnings. The warnings I have are as shown below. If anyone would care to comment I would appreciate it: ICE33WARNING Reg key reg7EF074BB025A80CBFE2087521879C64E is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table. ICE57WARNING Component 'component15' has both per-user and per-machine data with an HKCU Registry KeyPath. ICE66WARNING Complete functionality of the MsiFileHash table is only available with Windows Installer version 1.5. Your schema is 100 ICE74WARNING The UpgradeCode property is not authored in the Property table. It is strongly recommended that authors of installation packages specify an UpgradeCode for their application. ICE82WARNING This action ResumeDlg has duplicate sequence number 1298 in the table InstallUISequence ICE90WARNING The shortcut 'dnamanushortcut' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence. tia, -- Brian (remove the sport for mail) http://www.et.web.mek.dtu.dk/Staff/be/be.html http://www.rugbyklubben-speed.dk - 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] v3 light crashing with DirectoryNotFound exception
This is unexpected because I'm been running v3 Wix now for several months. I installed it this morning into a Win2k3 image and now my project is giving me a DirectoryNotFound exception when light is run. Here is the stack trace: [exec] light.exe : error LGHT0001 : The system cannot find the path specifi ed. [exec] Exception Type: System.IO.DirectoryNotFoundException [exec] Stack Trace: [exec]at System.Reflection.Assembly.nLoadFile(String path, Evidence evi dence, StackCrawlMark stackMark) [exec]at System.Reflection.Assembly.LoadFile(String path) [exec]at Microsoft.Tools.WindowsInstallerXml.Binder.BindDatabase (Output output, String databaseFile) [exec]at Microsoft.Tools.WindowsInstallerXml.Binder.Bind(Output output, String file) [exec]at Microsoft.Tools.WindowsInstallerXml.Tools.Light.Run(String[] a rgs) [exec] Binder temporary directory located at 'C:\DOCUME~1\ADMINI~1\LOCALS~1 \Temp\3bcognia'. [exec] Validator temporary directory located at 'C:\DOCUME~1\ADMINI~1\LOCAL S~1\Temp\qrcxttwb'. Any idea what it's looking for? - 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] Conditionally edit XML file if it is installed
I am trying to have my installer edit an XML file after it is installed. However, the XML file should not be installed or edited if it already exists on the system. So I am trying to condition the installation of the XML editing component on the state/action of the component which contains the XML file to be edited. But its not working. I am seeing some conflicting info in the Windows Installer documentation that in one place states the component state can only be used in the condition table and the sequence tables, while the Component table documentation states that the Condition column accepts conditional expressions containing references to the installed states of features and components So which is it? Any idea what I'm doing wrong? Directory Id=INSTALLDIR Name=FrzFrame LongName=StarWitness FreezeFrame Component Id=c_SysConfig_xml Guid=0AD3B4EF-331D-4018-9694-7C738D13F86F DiskId=1 NeverOverwrite=yes Permanent=yes File Id=f_SysConfig_xml Name=SysConf.xml LongName=SysConfig.xml KeyPath=yes Source=$(var.stageDir)\SysConfig.xml / /Component Component Id=c_EditSysConfig_xml Guid=426C9462-C96C-4abe-8665-89523F9725C6 DiskId=1 !-- Only edit the sysconfig.xml file if it is being installed -- Condition ![CDATA[$c_SysConfig_xml=3]]/Condition XmlFile Id=xml_SetCaseRootDir File=[#f_SysConfig_xml] ElementPath=//configuration/caseRootDir Value=[DATAFILESTOREDIR] Action=setValue Sequence=1/ XmlFile Id=xml_SetCaptureDir File=[#f_SysConfig_xml] ElementPath=//configuration/captureDir Value=[MEDIAFILESTOREDIR] Action=setValue Sequence=2/ XmlFile Id=xml_SetTempDir File=[#f_SysConfig_xml] ElementPath=//configuration/tempDir Value=[TEMPDIR] Action=setValue Sequence=3/ /Component /Directory -- Bill Arnette Principal Software Developer StarWitness Business Unit Signalscape, Inc. www.starwitness.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] Populating Listbox from a custom action
Alexei wrote: Thanks for all the replies however it's not the inclusion of the listbox table - that is most definitely there. And I can populate it as well. The problem is trying to achieve the behavior corresponding to But what exactly is the problem? Is the data not getting written to the ListBox table? Is it not what you specified? Is WcaAddTempRecord returning a bad HRESULT? I'd expect a failure HRESULT because the ListBox table has four columns, not three. The fourth is the Text column. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft 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] Patch requires source (error 1706)
Marc Durdin wrote: This is not documented anywhere that I can see. Can you provide a source for this problem? No, just anecdotal evidence. The thing is, a major upgrade patch is an exact match for our requirement to allow updates to the latest released version of our application without requiring a download of the whole installer. Do you have any recommended approaches for solving this problem? I don't have any recommendations about major upgrade patches because I haven't used them. It's not clear from the log why MSI needs the source MSI. You can accomplish the same effect using a minor upgrade patch that targets multiple released versions of your product. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft 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] Searching text files
Craig Ward wrote: I have a global property that I'd like to initialize to a value found within a line of text, in a text file. This file is close to an ini-file format, except that it doesn't have section headers, so I'm not sure that I can use IniFileSearch (the compiler keeps complaining about a null or missing section header). If it's not .ini format, IniFileSearch won't work. The underlying functionality requires section names. You'd need a custom action. Also, are there any methods to parse/split strings? No, there's nothing like that built in to MSI. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft 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] Read out value from Registry and put it as String to a Filename
Martin Österreicher wrote: I want to read out this value from the registry and use this String-Value as the extension for a File, e.g. Filename.DEA or Filename.ENU. There's no support in MSI to have file or directory names that include properties. MSI wants that information to be fully declared. You'd have to use a custom action. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft 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] Companion Files
John Hall wrote: I'm trying to set the CompanionFile attribute of a file, something like this: Component File Id=parent ... KeyPath=yes / File Id=companion Companion=parent / /Component Assuming Companion is a typo for CompanionFile, it looks right. Which version of WiX are you using? -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft 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] How to deploy all the files inside the folder rather than specifying each files
There is not a way to specify a directory. You will need to specify each file explicitly to have it be part of the installation From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Lingappa Sent: Thursday, July 19, 2007 3:48 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] How to deploy all the files inside the folder rather than specifying each files Hi, I need to specify contents of whole directory needs to be installed instead specifying each file names. Currently i am using like mentioned below: ... ... ... ... I need to specify all the files. Problem any file is being added to the directory again i need to add the file in the wxs source. Is there a to specify the directory instead of files? Your help will be greatly appreciate. Thanks in advance. Regards, Lingappa View this message in context: How to deploy all the files inside the folder rather than specifying each fileshttp://www.nabble.com/How-to-deploy-all-the-files-inside-the-folder-rather-than-specifying-each-files-tf4109546.html#a11686200 Sent from the wix-users mailing list archivehttp://www.nabble.com/wix-users-f4470.html at Nabble.com. - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft 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] Searching text files
Not only that, but IniLocator/AppSearch can only search INI files in the WindowsFolder directory. It's about the most useless pattern I've ever seen. What Windows Installer really needs is a built in XmlLocator and RegExLocator patterns. I guess the chances of that are slim to none however... Bob Arnson [EMAIL PROTECTED] wrote: Craig Ward wrote: I have a global property that I'd like to initialize to a value found within a line of text, in a text file. This file is close to an ini-file format, except that it doesn't have section headers, so I'm not sure that I can use IniFileSearch (the compiler keeps complaining about a null or missing section header). If it's not .ini format, IniFileSearch won't work. The underlying functionality requires section names. You'd need a custom action. Also, are there any methods to parse/split strings? No, there's nothing like that built in to MSI. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft 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 - Luggage? GPS? Comic books? Check out fitting gifts for grads at Yahoo! Search.- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft 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] Conditionally edit XML file if it is installed
Would it be worthwhile to do a filesearch and if it doesn't exist to then install the component and change the file (in a different feature)? That would be the way I'd do it, but I have yet to use the NeverOverwrite option. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Arnette, Bill Sent: Thursday, July 19, 2007 7:14 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Conditionally edit XML file if it is installed I am trying to have my installer edit an XML file after it is installed. However, the XML file should not be installed or edited if it already exists on the system. So I am trying to condition the installation of the XML editing component on the state/action of the component which contains the XML file to be edited. But its not working. I am seeing some conflicting info in the Windows Installer documentation that in one place states the component state can only be used in the condition table and the sequence tables, while the Component table documentation states that the Condition column accepts conditional expressions containing references to the installed states of features and components So which is it? Any idea what I'm doing wrong? Directory Id=INSTALLDIR Name=FrzFrame LongName=StarWitness FreezeFrame Component Id=c_SysConfig_xml Guid=0AD3B4EF-331D-4018-9694-7C738D13F86F DiskId=1 NeverOverwrite=yes Permanent=yes File Id=f_SysConfig_xml Name=SysConf.xml LongName=SysConfig.xml KeyPath=yes Source=$(var.stageDir)\SysConfig.xml / /Component Component Id=c_EditSysConfig_xml Guid=426C9462-C96C-4abe-8665-89523F9725C6 DiskId=1 !-- Only edit the sysconfig.xml file if it is being installed -- Condition ![CDATA[$c_SysConfig_xml=3]]/Condition XmlFile Id=xml_SetCaseRootDir File=[#f_SysConfig_xml] ElementPath=//configuration/caseRootDir Value=[DATAFILESTOREDIR] Action=setValue Sequence=1/ XmlFile Id=xml_SetCaptureDir File=[#f_SysConfig_xml] ElementPath=//configuration/captureDir Value=[MEDIAFILESTOREDIR] Action=setValue Sequence=2/ XmlFile Id=xml_SetTempDir File=[#f_SysConfig_xml] ElementPath=//configuration/tempDir Value=[TEMPDIR] Action=setValue Sequence=3/ /Component /Directory -- Bill Arnette Principal Software Developer StarWitness Business Unit Signalscape, Inc. www.starwitness.com - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft 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] New to wix 3.0 ( 3.0.2925.0)
Hey Patrice, Have you tried using heat.exe ?? Since you have so many files you might want to take a look at that. You point it to you folder and it writes out the wxs file for you including all the reg keys for DLL's etc. If order to build patch's and minor versions your going to need to reconcile your GUIDS and ID. The tool you need I believe this community calls it a component catalog, and as far as I'm aware it does not exist. Unfortunately when you use heat it will not generate GUIDS and you need to maintain them and the ID's yourself. Remember to not break any of the component rules (whatever they are). I have written what I think is a component catalog, however I don't have enough knowledge to ensure all component rules are not broken so it's just something I'm playing with at this point. Jimbo From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Patrice Lamarche Sent: Thursday, July 19, 2007 6:39 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] New to wix 3.0 ( 3.0.2925.0) Hello everyone, We are stating using WiX. I'm searching for some help about how to structure our wxs file. We have a lot (more than 60K) files. The format we use currently is one file per component and one feature containing all the components. I have to build patch between minor version that remove, update and add new files. Is there any best practices or suggestions? I did some tests. I correctly generated a setup. I tried the patching system with pyro. I based my Patch.wxs on the Peter Marcu's Blog sample. My sample did work but it's took long time to generate the patch for only one file modified. Pyro looks to do a binary compare on each file can we specify to check if the file date have changed if not skip to the next file? Now I'm trying with a smaller set of files to test removed files and added files into a patch but I get this error C:\delivery\Dev\wix\src\ext\uiextension\wixlib\Common.wxs(73) : error PYRO0103 : The system cannot find the file 'C:\delivery\Target\wix\x86\ship\lang-neutral\PrintEula.dll'. I'm currently updating my sdk to build wix. And get the dll Thanks you for yours advices. Best Regards, Patrice Lamarche There is a sample of my wxs Setup.wxs ?xml version=1.0 encoding=utf-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Product Id={955BA1D1-594E-4678-AD9B-785038FEBC47} Language=1033 Manufacturer=Blabla Inc. Name=v1.00.00 UpgradeCode={DD431266-3725-4BBB-902A-936CDFD95CA5} Version=1.00.00 Package Compressed=yes InstallerVersion=300 / Upgrade Id={DD431266-3725-4BBB-902A-936CDFD95CA5} UpgradeVersion OnlyDetect='yes' Property='PATCHFOUND' Minimum='1.00.00' IncludeMinimum='yes' Maximum='1.00.00' IncludeMaximum='yes' / UpgradeVersion OnlyDetect='yes' Property='NEWERFOUND' Minimum='1.00.00' IncludeMinimum='no' / /Upgrade Directory Id='TARGETDIR' Name='SourceDir' Directory Id='ProgramFilesFolder' Name='PFiles' Directory Id='Blabla' Name='Blabla' Directory Id='INSTALLDIR' Name='Bla' Directory Id=data_1 Name=Data Component Id=bla.build_1 Guid={6CB5A96B-2470-4F61-A237-8B8FC9853BCC} File Id=bla.build_1 Name=bla.build KeyPath=yes Source=x:\Data\bla.build DiskId=1 / /Component Component Id=bladata.build_1 Guid={7743C10F-109D-4209-9B67-361D24AB3D21} File Id=bladata.build_1 Name=blaData.build KeyPath=yes Source=x:\blaData.build DiskId=1 / /Component Component Id=bladata.ss.build_1 Guid={FD92FBF9-BAF0-4730-A263-CC646B91914D} File Id=bladata.ss.build_1 Name=blaData.ss.build KeyPath=yes Source=x:\blaData.ss.build DiskId=1 / /Component .. Feature Id=bla Level=1 Title=Bla 1.00.00 ComponentRef Id=log4net.appender.appenderskeleton.activateoptions.html_1 / ComponentRef Id=banksinmultibootdlg.cpp_1 / ComponentRef Id=gxtevbias.html_1 / ComponentRef Id=log4net.core.logimpl.errorformat_overload_3.html_1 / ComponentRef Id=t_5_025.cpp_1 / ComponentRef Id=test_list.vcproj_1 / ComponentRef Id=doc2.htm_1 / . Patch.wxs ?xml version=1.0 encoding=UTF-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Patch AllowRemoval=yes Manufacturer=Bla MoreInfoURL=http://www.bla.com/; DisplayName=Bla 1.00.00 to 1.00.01 Description=Patch Sample Classification=Update Media Id=5000 Cabinet=RTM.cab PatchBaseline Id=RTM/ /Media PatchFamilyRef Id=BlaPatch/ /Patch Fragment PatchFamily Id=BlaPatch Version='1.00.01' Supersede='yes' /PatchFamily /Fragment /Wix - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005.
Re: [WiX-users] New to wix 3.0 ( 3.0.2925.0)
Hello, First, thanks for the reply. No I'm not using heat, I'll look. I'm currently generating my GUIDS with a perl script for the 1st install and we planned to create a program that will create the RemoveFile entry for deleted files, add the new files. I downloaded a weekly build from the website and it resolved my pyro problem. I can now generate patch with the files I manually edited. I'll search for more info about a component catalog. Just to be sure. If a file is deleted I need to change Component Id=bla.build_1 Guid={6CB5A96B-2470-4F61-A237-8B8FC9853BCC} File Id=bla.build_1 Name=bla.build KeyPath=yes Source=x:\Data\bla.build DiskId=1 / /Component For Component Id=bla.build_1 Guid={6CB5A96B-2470-4F61-A237-8B8FC9853BCC} RemoveFile Id=bla.build_1 Name=bla.build KeyPath=yes Source=x:\Data\bla.build DiskId=1 / /Component It's give me error about the keypath. I've read in the doc and I'm not sure about what the keypath attribute does. Thanks for your reactivity! Best regards, Patrice Lamarche De : Collins, James [mailto:[EMAIL PROTECTED] Envoyé : 19 juillet 2007 13:43 À : Patrice Lamarche; wix-users@lists.sourceforge.net Objet : RE: [WiX-users] New to wix 3.0 ( 3.0.2925.0) Hey Patrice, Have you tried using heat.exe ?? Since you have so many files you might want to take a look at that. You point it to you folder and it writes out the wxs file for you including all the reg keys for DLL's etc. If order to build patch's and minor versions your going to need to reconcile your GUIDS and ID. The tool you need I believe this community calls it a component catalog, and as far as I'm aware it does not exist. Unfortunately when you use heat it will not generate GUIDS and you need to maintain them and the ID's yourself. Remember to not break any of the component rules (whatever they are). I have written what I think is a component catalog, however I don't have enough knowledge to ensure all component rules are not broken so it's just something I'm playing with at this point. Jimbo From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Patrice Lamarche Sent: Thursday, July 19, 2007 6:39 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] New to wix 3.0 ( 3.0.2925.0) Hello everyone, We are stating using WiX. I'm searching for some help about how to structure our wxs file. We have a lot (more than 60K) files. The format we use currently is one file per component and one feature containing all the components. I have to build patch between minor version that remove, update and add new files. Is there any best practices or suggestions? I did some tests. I correctly generated a setup. I tried the patching system with pyro. I based my Patch.wxs on the Peter Marcu's Blog sample. My sample did work but it's took long time to generate the patch for only one file modified. Pyro looks to do a binary compare on each file can we specify to check if the file date have changed if not skip to the next file? Now I'm trying with a smaller set of files to test removed files and added files into a patch but I get this error C:\delivery\Dev\wix\src\ext\uiextension\wixlib\Common.wxs(73) : error PYRO0103 : The system cannot find the file 'C:\delivery\Target\wix\x86\ship\lang-neutral\PrintEula.dll'. I'm currently updating my sdk to build wix. And get the dll Thanks you for yours advices. Best Regards, Patrice Lamarche There is a sample of my wxs Setup.wxs ?xml version=1.0 encoding=utf-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Product Id={955BA1D1-594E-4678-AD9B-785038FEBC47} Language=1033 Manufacturer=Blabla Inc. Name=v1.00.00 UpgradeCode={DD431266-3725-4BBB-902A-936CDFD95CA5} Version=1.00.00 Package Compressed=yes InstallerVersion=300 / Upgrade Id={DD431266-3725-4BBB-902A-936CDFD95CA5} UpgradeVersion OnlyDetect='yes' Property='PATCHFOUND' Minimum='1.00.00' IncludeMinimum='yes' Maximum='1.00.00' IncludeMaximum='yes' / UpgradeVersion OnlyDetect='yes' Property='NEWERFOUND' Minimum='1.00.00' IncludeMinimum='no' / /Upgrade Directory Id='TARGETDIR' Name='SourceDir' Directory Id='ProgramFilesFolder' Name='PFiles' Directory Id='Blabla' Name='Blabla' Directory Id='INSTALLDIR' Name='Bla' Directory Id=data_1 Name=Data Component Id=bla.build_1 Guid={6CB5A96B-2470-4F61-A237-8B8FC9853BCC} File Id=bla.build_1 Name=bla.build KeyPath=yes Source=x:\Data\bla.build DiskId=1 / /Component Component Id=bladata.build_1 Guid={7743C10F-109D-4209-9B67-361D24AB3D21} File Id=bladata.build_1 Name=blaData.build KeyPath=yes Source=x:\blaData.build DiskId=1 / /Component Component Id=bladata.ss.build_1
Re: [WiX-users] New to wix 3.0 ( 3.0.2925.0)
My understanding is that if your removing a file then just remove the whole component all together and when you upgrade MSI will realize the component no longer exists and remove the file for you. So you would start with Component Id=bla.build_1 Guid={6CB5A96B-2470-4F61-A237-8B8FC9853BCC} File Id=bla.build_1 Name=bla.build KeyPath=yes Source=x:\Data\bla.build DiskId=1 / /Component And change it to... Empty string. But as I said I'm no expert on the component rules. :-) Jimbo From: Patrice Lamarche [mailto:[EMAIL PROTECTED] Sent: Thursday, July 19, 2007 10:57 AM To: Collins, James; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] New to wix 3.0 ( 3.0.2925.0) Hello, First, thanks for the reply. No I'm not using heat, I'll look. I'm currently generating my GUIDS with a perl script for the 1st install and we planned to create a program that will create the RemoveFile entry for deleted files, add the new files. I downloaded a weekly build from the website and it resolved my pyro problem. I can now generate patch with the files I manually edited. I'll search for more info about a component catalog. Just to be sure. If a file is deleted I need to change Component Id=bla.build_1 Guid={6CB5A96B-2470-4F61-A237-8B8FC9853BCC} File Id=bla.build_1 Name=bla.build KeyPath=yes Source=x:\Data\bla.build DiskId=1 / /Component For Component Id=bla.build_1 Guid={6CB5A96B-2470-4F61-A237-8B8FC9853BCC} RemoveFile Id=bla.build_1 Name=bla.build KeyPath=yes Source=x:\Data\bla.build DiskId=1 / /Component It's give me error about the keypath. I've read in the doc and I'm not sure about what the keypath attribute does. Thanks for your reactivity! Best regards, Patrice Lamarche De : Collins, James [mailto:[EMAIL PROTECTED] Envoyé : 19 juillet 2007 13:43 À : Patrice Lamarche; wix-users@lists.sourceforge.net Objet : RE: [WiX-users] New to wix 3.0 ( 3.0.2925.0) Hey Patrice, Have you tried using heat.exe ?? Since you have so many files you might want to take a look at that. You point it to you folder and it writes out the wxs file for you including all the reg keys for DLL's etc. If order to build patch's and minor versions your going to need to reconcile your GUIDS and ID. The tool you need I believe this community calls it a component catalog, and as far as I'm aware it does not exist. Unfortunately when you use heat it will not generate GUIDS and you need to maintain them and the ID's yourself. Remember to not break any of the component rules (whatever they are). I have written what I think is a component catalog, however I don't have enough knowledge to ensure all component rules are not broken so it's just something I'm playing with at this point. Jimbo From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Patrice Lamarche Sent: Thursday, July 19, 2007 6:39 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] New to wix 3.0 ( 3.0.2925.0) Hello everyone, We are stating using WiX. I'm searching for some help about how to structure our wxs file. We have a lot (more than 60K) files. The format we use currently is one file per component and one feature containing all the components. I have to build patch between minor version that remove, update and add new files. Is there any best practices or suggestions? I did some tests. I correctly generated a setup. I tried the patching system with pyro. I based my Patch.wxs on the Peter Marcu's Blog sample. My sample did work but it's took long time to generate the patch for only one file modified. Pyro looks to do a binary compare on each file can we specify to check if the file date have changed if not skip to the next file? Now I'm trying with a smaller set of files to test removed files and added files into a patch but I get this error C:\delivery\Dev\wix\src\ext\uiextension\wixlib\Common.wxs(73) : error PYRO0103 : The system cannot find the file 'C:\delivery\Target\wix\x86\ship\lang-neutral\PrintEula.dll'. I'm currently updating my sdk to build wix. And get the dll Thanks you for yours advices. Best Regards, Patrice Lamarche There is a sample of my wxs Setup.wxs ?xml version=1.0 encoding=utf-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Product Id={955BA1D1-594E-4678-AD9B-785038FEBC47} Language=1033 Manufacturer=Blabla Inc. Name=v1.00.00 UpgradeCode={DD431266-3725-4BBB-902A-936CDFD95CA5} Version=1.00.00 Package Compressed=yes InstallerVersion=300 / Upgrade Id={DD431266-3725-4BBB-902A-936CDFD95CA5} UpgradeVersion OnlyDetect='yes' Property='PATCHFOUND' Minimum='1.00.00' IncludeMinimum='yes' Maximum='1.00.00' IncludeMaximum='yes' / UpgradeVersion
Re: [WiX-users] Conditionally edit XML file if it is installed
Well, I'm also trying that, and I'm just not grok'ing file search. Property Id=SYSCONFIGEXISTS Secure=yes DirectorySearch Id=ds_INSTALLDIR Path=[INSTALLDIR] Depth=0 FileSearch Id=fs_SysConfig LongName=SysConfig.xml / /DirectorySearch /Property Condition Message=SysConfig.xml exists! [SYSCONFIGEXISTS]![CDATA[SYSCONFIGEXISTS]]/Condition Condition Message=SysConfig.xml does not exist! [SYSCONFIGEXISTS]![CDATA[NOT SYSCONFIGEXISTS]]/Condition For some reason, the SysConfig.xml exists! message is firing even when INSTALLDIR does not exist on the system; let alone SysConfig.xml. I moved AppSearch after CostFinalize to make sure that INSTALLDIR is resolved before the AppSearch, but still nothing. Note that I am using WiX v2 if that matters. -- Bill Arnette www.starwitness.com -Original Message- From: Pierson Lee (Volt) [mailto:[EMAIL PROTECTED] Sent: Thursday, July 19, 2007 11:59 AM To: Arnette, Bill; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Conditionally edit XML file if it is installed Would it be worthwhile to do a filesearch and if it doesn't exist to then install the component and change the file (in a different feature)? That would be the way I'd do it, but I have yet to use the NeverOverwrite option. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Arnette, Bill Sent: Thursday, July 19, 2007 7:14 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Conditionally edit XML file if it is installed I am trying to have my installer edit an XML file after it is installed. However, the XML file should not be installed or edited if it already exists on the system. So I am trying to condition the installation of the XML editing component on the state/action of the component which contains the XML file to be edited. But its not working. I am seeing some conflicting info in the Windows Installer documentation that in one place states the component state can only be used in the condition table and the sequence tables, while the Component table documentation states that the Condition column accepts conditional expressions containing references to the installed states of features and components So which is it? Any idea what I'm doing wrong? Directory Id=INSTALLDIR Name=FrzFrame LongName=StarWitness FreezeFrame Component Id=c_SysConfig_xml Guid=0AD3B4EF-331D-4018-9694-7C738D13F86F DiskId=1 NeverOverwrite=yes Permanent=yes File Id=f_SysConfig_xml Name=SysConf.xml LongName=SysConfig.xml KeyPath=yes Source=$(var.stageDir)\SysConfig.xml / /Component Component Id=c_EditSysConfig_xml Guid=426C9462-C96C-4abe-8665-89523F9725C6 DiskId=1 !-- Only edit the sysconfig.xml file if it is being installed -- Condition ![CDATA[$c_SysConfig_xml=3]]/Condition XmlFile Id=xml_SetCaseRootDir File=[#f_SysConfig_xml] ElementPath=//configuration/caseRootDir Value=[DATAFILESTOREDIR] Action=setValue Sequence=1/ XmlFile Id=xml_SetCaptureDir File=[#f_SysConfig_xml] ElementPath=//configuration/captureDir Value=[MEDIAFILESTOREDIR] Action=setValue Sequence=2/ XmlFile Id=xml_SetTempDir File=[#f_SysConfig_xml] ElementPath=//configuration/tempDir Value=[TEMPDIR] Action=setValue Sequence=3/ /Component /Directory -- Bill Arnette Principal Software Developer StarWitness Business Unit Signalscape, Inc. www.starwitness.com - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - This SF.net email is sponsored by: 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] New to wix 3.0 ( 3.0.2925.0)
Unfortunately, removing a file via a patch is not as easy as that. Windows Installer requires that if a component is removed, the feature containing it be removed so you probably don't want to do that. You need to author a RemoveFile element to remove the file in your component. This will remove the file for you but you should leave the component. As for your patch taking a long time. Try using PatchFamily elements to limit the number of components you want to consider in your patch. Also, if you want to get deeper into WiX, you can implement a Binder extension that will allow you to dictate how files are compared when deciding what files to include in your patch. Another side note: Windows Installer has a limit of 1600 components tied to any one feature. I don't know what the side effects are of this but if you have 16,000 files, each with their own component, and they are all tied to the same feature, you may run into some problems... From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Collins, James Sent: Thursday, July 19, 2007 11:03 AM To: Patrice Lamarche; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] New to wix 3.0 ( 3.0.2925.0) My understanding is that if your removing a file then just remove the whole component all together and when you upgrade MSI will realize the component no longer exists and remove the file for you. So you would start with Component Id=bla.build_1 Guid={6CB5A96B-2470-4F61-A237-8B8FC9853BCC} File Id=bla.build_1 Name=bla.build KeyPath=yes Source=x:\Data\bla.build DiskId=1 / /Component And change it to... Empty string. But as I said I'm no expert on the component rules. J Jimbo From: Patrice Lamarche [mailto:[EMAIL PROTECTED] Sent: Thursday, July 19, 2007 10:57 AM To: Collins, James; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] New to wix 3.0 ( 3.0.2925.0) Hello, First, thanks for the reply. No I'm not using heat, I'll look. I'm currently generating my GUIDS with a perl script for the 1st install and we planned to create a program that will create the RemoveFile entry for deleted files, add the new files. I downloaded a weekly build from the website and it resolved my pyro problem. I can now generate patch with the files I manually edited. I'll search for more info about a component catalog. Just to be sure. If a file is deleted I need to change Component Id=bla.build_1 Guid={6CB5A96B-2470-4F61-A237-8B8FC9853BCC} File Id=bla.build_1 Name=bla.build KeyPath=yes Source=x:\Data\bla.build DiskId=1 / /Component For Component Id=bla.build_1 Guid={6CB5A96B-2470-4F61-A237-8B8FC9853BCC} RemoveFile Id=bla.build_1 Name=bla.build KeyPath=yes Source=x:\Data\bla.build DiskId=1 / /Component It's give me error about the keypath. I've read in the doc and I'm not sure about what the keypath attribute does. Thanks for your reactivity! Best regards, Patrice Lamarche De : Collins, James [mailto:[EMAIL PROTECTED] Envoyé : 19 juillet 2007 13:43 À : Patrice Lamarche; wix-users@lists.sourceforge.net Objet : RE: [WiX-users] New to wix 3.0 ( 3.0.2925.0) Hey Patrice, Have you tried using heat.exe ?? Since you have so many files you might want to take a look at that. You point it to you folder and it writes out the wxs file for you including all the reg keys for DLL's etc. If order to build patch's and minor versions your going to need to reconcile your GUIDS and ID. The tool you need I believe this community calls it a component catalog, and as far as I'm aware it does not exist. Unfortunately when you use heat it will not generate GUIDS and you need to maintain them and the ID's yourself. Remember to not break any of the component rules (whatever they are). I have written what I think is a component catalog, however I don't have enough knowledge to ensure all component rules are not broken so it's just something I'm playing with at this point. Jimbo From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Patrice Lamarche Sent: Thursday, July 19, 2007 6:39 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] New to wix 3.0 ( 3.0.2925.0) Hello everyone, We are stating using WiX. I'm searching for some help about how to structure our wxs file. We have a lot (more than 60K) files. The format we use currently is one file per component and one feature containing all the components. I have to build patch between minor version that remove, update and add new files. Is there any best practices or suggestions? I did some tests. I correctly generated a setup. I tried the patching system with pyro. I based my Patch.wxs on the Peter Marcu's Blog sample. My sample did work but it's took long time to generate the patch for only one file modified. Pyro looks to do a binary compare on each file can we specify to check if the file date
[WiX-users] Migrating from wix 2.x to 3.x
Hello everyone,I have been using wix to create the installer for a small app I have developed. I have not used this for about a year now, so I am pretty sure it must have been v2. So now I come in and see a new and shiny v3, and I wonder whether I should migrate to it. Questions:Is it advised to move from v2 to v3, or to stay with v2, or is it just a matter of personal preferences?Should my project.wxs file work without any modifications in v3? I tried but got some warnings and some errors; what is the recommended migration path?Where can I find the localized files that used to reside in the lib directory? My installer has to be in Spanish, but I cannot find the WixUI_es-es.wxl file anywhere in this site (or anywhere else, for that matter).Are there any recommendations regarding changing the way things are done from v2 to v3? Should I start doing anything differently, or should my project.wxs file remain pretty much the same (modulo any changes to make it run)?Are there any good tutorials on v3 around the Internet? I learned to use v2 from the very well known tutoral at http://www.tramontana.co.hu/wix/ and would love to find the equivalent for v3.Thanks and best regards,-- Gonzalo Diethelm[EMAIL PROTECTED]- 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] Migrating from wix 2.x to 3.x
And one more thing: where is the wixui_minimal.wixlib file for v3? Thanks,-- Gonzalo Diethelm[EMAIL PROTECTED]-Original Message-From: "Gonzalo Diethelm" [EMAIL PROTECTED]Sent 7/19/2007 2:52:28 PMTo: wix-users@lists.sourceforge.netCc: [EMAIL PROTECTED]Subject: Migrating from wix 2.x to 3.xHello everyone,I have been using wix to create the installer for a small app I have developed. I have not used this for about a year now, so I am pretty sure it must have been v2. So now I come in and see a new and shiny v3, and I wonder whether I should migrate to it. Questions:Is it advised to move from v2 to v3, or to stay with v2, or is it just a matter of personal preferences?Should my project.wxs file work without any modifications in v3? I tried but got some warnings and some errors; what is the recommended migration path?Where can I find the localized files that used to reside in the lib directory? My installer has to be in Spanish, but I cannot find the WixUI_es-es.wxl file anywhere in this site (or anywhere else, for that matter).Are there any recommendations regarding changing the way things are done from v2 to v3? Should I start doing anything differently, or should my project.wxs file remain pretty much the same (modulo any changes to make it run)?Are there any good tutorials on v3 around the Internet? I learned to use v2 from the very well known tutoral at http://www.tramontana.co.hu/wix/ and would love to find the equivalent for v3.Thanks and best regards,-- Gonzalo Diethelm[EMAIL PROTECTED]- 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] WOW6432Node registry trouble for 64 bit MSI
Hi, I want the 64 bit installer to write to WOW6432Node registry, which is used for 32 bit application, and the 64 bit components will not write to registries under WOW6432Node. From WIX help file for component element: Win64 YesNoTypemk:@MSITStore:C:\wsus3\tools\managed\v2.0\wix.chm::/html/wix_xsd_simple_type_yesnotype.htm Set this attribute to 'yes' to mark this as a 64-bit component. This attribute facilitates the installation of packages that include both 32-bit and 64-bit components. If this bit is not set, the component is registered as a 32-bit component. If this is a 64-bit component replacing a 32-bit component, set this bit and assign a new GUID in the Guid attribute. So I created the following component with win64 attribute set to NO to indicate this is 32 bit component, but after build the amd64 MSI still has the attribute value for this component as 260 (256+4). Consequently the setup didn't really write to the WOW6432NODE. #ifndef _X86_ Component Id='c_Api_6432' Guid=08CFB40C-6AC8-40f5-A3AD-94A96AD2F9E4 KeyPath=no Win64=no Registry Id='r_SetupApiRegistryKey_6432' Root='HKLM' Key='SOFTWARE\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\Update Services Assemblies' Action='createKeyAndRemoveKeyOnUninstall' Registry Id='r_ApiDeafultRegistryKey_6432' Action='write' Value='[$c_Api_6432]' Type='string'/ /Registry /Component #endif From the help on Component Table at http://msdn2.microsoft.com/en-us/library/aa368007.aspx msidbComponentAttributes64bit 256 0x0100 Set this bit to mark this as a 64-bit component. This attribute facilitates the installation of packages that include both 32-bit and 64-bit components. If this bit is not set, the component is registered as a 32-bit component. If this is a 64-bit component replacing a 32-bit component, set this bit and assign a new GUID in the ComponentId column. I even tried to manually change the 260 to 4, but still didn't work. Any clue ? thanks! - 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] Conditionally edit XML file if it is installed
Oops, got the sense wrong on the Condition element below that I was using to try to debug this stuff. So, nevermind that. After resolving that, putting the conditional (SYSCONFIGFILEEXISTS) on the XML editing component works as long as I schedule AppSearch after CostInitialize in the InstallUISequence table. I guess I'll just have to use that method instead of the conditionalizing on the XML file component state or action. -- Bill Arnette www.starwitness.com -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Arnette, Bill Sent: Thursday, July 19, 2007 2:20 PM To: Pierson Lee (Volt); wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Conditionally edit XML file if it is installed Well, I'm also trying that, and I'm just not grok'ing file search. Property Id=SYSCONFIGEXISTS Secure=yes DirectorySearch Id=ds_INSTALLDIR Path=[INSTALLDIR] Depth=0 FileSearch Id=fs_SysConfig LongName=SysConfig.xml / /DirectorySearch /Property Condition Message=SysConfig.xml exists! [SYSCONFIGEXISTS]![CDATA[SYSCONFIGEXISTS]]/Condition Condition Message=SysConfig.xml does not exist! [SYSCONFIGEXISTS]![CDATA[NOT SYSCONFIGEXISTS]]/Condition For some reason, the SysConfig.xml exists! message is firing even when INSTALLDIR does not exist on the system; let alone SysConfig.xml. I moved AppSearch after CostFinalize to make sure that INSTALLDIR is resolved before the AppSearch, but still nothing. Note that I am using WiX v2 if that matters. -- Bill Arnette www.starwitness.com -Original Message- From: Pierson Lee (Volt) [mailto:[EMAIL PROTECTED] Sent: Thursday, July 19, 2007 11:59 AM To: Arnette, Bill; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Conditionally edit XML file if it is installed Would it be worthwhile to do a filesearch and if it doesn't exist to then install the component and change the file (in a different feature)? That would be the way I'd do it, but I have yet to use the NeverOverwrite option. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Arnette, Bill Sent: Thursday, July 19, 2007 7:14 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Conditionally edit XML file if it is installed I am trying to have my installer edit an XML file after it is installed. However, the XML file should not be installed or edited if it already exists on the system. So I am trying to condition the installation of the XML editing component on the state/action of the component which contains the XML file to be edited. But its not working. I am seeing some conflicting info in the Windows Installer documentation that in one place states the component state can only be used in the condition table and the sequence tables, while the Component table documentation states that the Condition column accepts conditional expressions containing references to the installed states of features and components So which is it? Any idea what I'm doing wrong? Directory Id=INSTALLDIR Name=FrzFrame LongName=StarWitness FreezeFrame Component Id=c_SysConfig_xml Guid=0AD3B4EF-331D-4018-9694-7C738D13F86F DiskId=1 NeverOverwrite=yes Permanent=yes File Id=f_SysConfig_xml Name=SysConf.xml LongName=SysConfig.xml KeyPath=yes Source=$(var.stageDir)\SysConfig.xml / /Component Component Id=c_EditSysConfig_xml Guid=426C9462-C96C-4abe-8665-89523F9725C6 DiskId=1 !-- Only edit the sysconfig.xml file if it is being installed -- Condition ![CDATA[$c_SysConfig_xml=3]]/Condition XmlFile Id=xml_SetCaseRootDir File=[#f_SysConfig_xml] ElementPath=//configuration/caseRootDir Value=[DATAFILESTOREDIR] Action=setValue Sequence=1/ XmlFile Id=xml_SetCaptureDir File=[#f_SysConfig_xml] ElementPath=//configuration/captureDir Value=[MEDIAFILESTOREDIR] Action=setValue Sequence=2/ XmlFile Id=xml_SetTempDir File=[#f_SysConfig_xml] ElementPath=//configuration/tempDir Value=[TEMPDIR] Action=setValue Sequence=3/ /Component /Directory -- Bill Arnette Principal Software Developer StarWitness Business Unit Signalscape, Inc. www.starwitness.com - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - This SF.net email is sponsored by: 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
[WiX-users] How to delete a file that has created by an external program.
I am now successfully call an exe to write a license.dat file. However, I have a small problem. 1) When I unistall how should I delete manually this file?. I used this code, since I have to write to this directory, I need to create a directory in wix itself under Appluication data. Now when Uninstall since it cannot delete the top folder qsystems as it will have the license file. So, it cannot delete the top level folder. Since there is no reference for this file that has created by the extrenal program, how should I delete this file. The following code does not work. Directory Id=LicenseDir Name=SourceDir Directory Id=DOCS Name=DOCS LongName=Documents and Settings Directory Id=Allusers Name=AllUsers LongName=All Users Directory Id=ApplData Name=ApplData LongName=Application Data Directory Id=QSI Name=Qualtech LongName=qsystems Component Id=test Guid=06BA0010-75AC-459D-8B18-2304B2504D8B SharedDllRefCount=no KeyPath=no NeverOverwrite=no Permanent=no Transitive=no Win64=no Location=either CreateFolder/ RemoveFile Id='test' On='uninstall' / RemoveFolder Id='QSI' On='uninstall' / /Component - Yahoo! oneSearch: Finally, mobile search that gives answers, not web links. - Yahoo! oneSearch: Finally, mobile search that gives answers, not web links. - 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] Is there string manipulation in WIX?.
I could not find any topic which does string manipulation. I need to get the first part of the CD Key and install only and do some calculation and then install product(s) depending upon the calculation outcome. Can anybody think that it is easy or do I need to write a program in c or visual basic?. Thanks in advance, Venkat - 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] Custom rollback custom action...
I have a custom action that makes configuration changes. I want to modify it so that if it fails it can rollback the install or uninstall. At first, it didn't return a value, so I modified it to return MsiError.InstallFailure. That didn't work. Nope, it was installed. So, I had it re-throw the exception it caught. Still it was installed. How do I make the install stop and roll back the changes? Thanks! Rory - 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] WOW6432Node registry trouble for 64 bit MSI
I now know the issue lies in our build script (which changes the attribute value) the fact that I also created another 64 bit component to write to the same registry (I intend to write to both WOW6432 and counter part outside WOW6432, but seems I have to use different regkey name). From: Fei Cao Sent: Thursday, July 19, 2007 12:16 PM To: 'wix-users@lists.sourceforge.net' Subject: WOW6432Node registry trouble for 64 bit MSI Hi, I want the 64 bit installer to write to WOW6432Node registry, which is used for 32 bit application, and the 64 bit components will not write to registries under WOW6432Node. From WIX help file for component element: Win64 YesNoTypemk:@MSITStore:C:\wsus3\tools\managed\v2.0\wix.chm::/html/wix_xsd_simple_type_yesnotype.htm Set this attribute to 'yes' to mark this as a 64-bit component. This attribute facilitates the installation of packages that include both 32-bit and 64-bit components. If this bit is not set, the component is registered as a 32-bit component. If this is a 64-bit component replacing a 32-bit component, set this bit and assign a new GUID in the Guid attribute. So I created the following component with win64 attribute set to NO to indicate this is 32 bit component, but after build the amd64 MSI still has the attribute value for this component as 260 (256+4). Consequently the setup didn't really write to the WOW6432NODE. #ifndef _X86_ Component Id='c_Api_6432' Guid=08CFB40C-6AC8-40f5-A3AD-94A96AD2F9E4 KeyPath=no Win64=no Registry Id='r_SetupApiRegistryKey_6432' Root='HKLM' Key='SOFTWARE\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\Update Services Assemblies' Action='createKeyAndRemoveKeyOnUninstall' Registry Id='r_ApiDeafultRegistryKey_6432' Action='write' Value='[$c_Api_6432]' Type='string'/ /Registry /Component #endif From the help on Component Table at http://msdn2.microsoft.com/en-us/library/aa368007.aspx msidbComponentAttributes64bit 256 0x0100 Set this bit to mark this as a 64-bit component. This attribute facilitates the installation of packages that include both 32-bit and 64-bit components. If this bit is not set, the component is registered as a 32-bit component. If this is a 64-bit component replacing a 32-bit component, set this bit and assign a new GUID in the ComponentId column. I even tried to manually change the 260 to 4, but still didn't work. Any clue ? thanks! - 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] Problems about running a msi against Vista
I run a msi by using msiexec 4.0 on Vista with UAC ON. And the msi have two custom actions (a setup dll and a remover dll). Even if my account is Administrator, it failed to install on Vista though it worked on XP. After I set the two CA with Impersonate=no as Bob Arnson suggested, they get elevated, and installation and uninstalling went through well. However, there are the following issues: 1. When I spawn another process after installation in my setup.dll, the process actually run as system account context rather than current user context. 2. I signed my custom actions (a setup dll and a remove dll) and the msi as well. But when I run the msi, I still get the UAC prompt like: A program needs your permission to continue Product Name Company name Install Version Is there any way to prevent the prompt opened? 3. One more issue when I uninstall. I could not pass successfully a public parameter value pair on Vista. But it works on XP. The log is: MSI (s) (60:84) [17:46:47:028]: Machine policy value 'AlwaysInstallElevated' is 0 MSI (s) (60:84) [17:46:47:028]: User policy value 'AlwaysInstallElevated' is 0 MSI (s) (60:84) [17:46:47:028]: Using cached product context: machine assigned for product: FF01F0D58705B3A4EBBC07DB4FF537FC MSI (s) (60:84) [17:46:47:028]: Product {5D0F10FF-5078-4A3B-BECB-70BDF45F73CF} is admin assigned: LocalSystem owns the publish key. MSI (s) (60:84) [17:46:47:028]: Product {5D0F10FF-5078-4A3B-BECB-70BDF45F73CF} is managed. MSI (s) (60:84) [17:46:47:028]: Running product '{5D0F10FF-5078-4A3B-BECB-70BDF45F73CF}' with elevated privileges: Product is assigned. MSI (s) (60:84) [17:46:47:028]: Machine policy value 'EnableUserControl' is 0 MSI (s) (60:84) [17:46:47:028]: PROPERTY CHANGE: Adding RestrictedUserControl property. Its value is '1'. MSI (s) (60:84) [17:46:47:028]: Ignoring disallowed property REMOVEPARAMS Thanks a lot, Hao - 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] v3 light crashing with DirectoryNotFound exception
Looks like it's trying to load the embedded CABs within an extension DLL. Quite why it should fail here when the extension itself is clearly being loaded (as the library referencing the embedded CAB has been linked) I don't know. What exact version number of WiX are you using? Have you tried the most recent weekly release from wix.sourceforge.net/releases? -- Mike Dimmick _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Reggie Burnett Sent: 19 July 2007 14:45 To: wix-users@lists.sourceforge.net Subject: [WiX-users] v3 light crashing with DirectoryNotFound exception This is unexpected because I'm been running v3 Wix now for several months. I installed it this morning into a Win2k3 image and now my project is giving me a DirectoryNotFound exception when light is run. Here is the stack trace: [exec] light.exe : error LGHT0001 : The system cannot find the path specifi ed. [exec] Exception Type: System.IO.DirectoryNotFoundException [exec] Stack Trace: [exec]at System.Reflection.Assembly.nLoadFile (String path, Evidence evi dence, StackCrawlMark stackMark) [exec]at System.Reflection.Assembly.LoadFile(String path) [exec]at Microsoft.Tools.WindowsInstallerXml.Binder.BindDatabase(Output output, String databaseFile) [exec]at Microsoft.Tools.WindowsInstallerXml.Binder.Bind(Output output, String file) [exec]at Microsoft.Tools.WindowsInstallerXml.Tools.Light.Run(String[] a rgs) [exec] Binder temporary directory located at 'C:\DOCUME~1\ADMINI~1\LOCALS~1 \Temp\3bcognia'. [exec] Validator temporary directory located at 'C:\DOCUME~1\ADMINI~1\LOCAL S~1\Temp\qrcxttwb'. Any idea what it's looking for? - 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] Got the msi I wanted working
Taking the simple ones: ICE33 warns if you're not advertising your COM objects. Generally advertised COM objects are not now recommended because they can cause installer dialogs to apparently appear randomly (as far as the user is concerned). This warning is generally ignored by most people, and light v3 suppresses ICE33 by default. ICE66 says that MsiFileHash was new in Windows Installer 2.0 (there is actually no version 1.5) but you've declared that your package works from v1.0 upwards. MsiFileHash is automatically generated by light as it can prevent unnecessary cabinet references which might be useful in web download or administrative image scenarios - it's basically used to prevent unnecessarily overwriting an unchanged existing file. You can ignore this warning - it does no harm, Windows Installer before 2.0 simply ignores the table and overwrites the file anyway - but you can prevent it by setting Package/@InstallerVersion to 150 or higher. ICE74 - UpgradeCode is used by the Upgrade feature (for major upgrades) to detect the presence of different versions of the same product, so that the RemoveExistingProducts action can do its job. You should always set an UpgradeCode for any package you intend to later upgrade with a major upgrade, which in effect means you should do it for all packages. Set Product/@UpgradeCode to a GUID, then keep the same upgrade code for all future versions of the product. ICE82 - You've probably specified some action as occurring before ProgressDlg. Consider changing it to occur before ResumeDlg instead. Alternatively, set it to occur after CostFinalize, if it is not itself a dialog. Once the first modal dialog has been shown, dialogs proceed in the order specified by NewDialog events, not in the UI sequence. Only when the last modal dialog has been shown does it proceed to the next action in the UI sequence. Generally you only run one chain of modal dialogs (packages typically have three chains, one for starting an installation, one for resuming a suspended installation, and one for maintenance). The more debatable, and difficult to resolve, ones are ICE57 and ICE90. It's recommended that components only install files to either per-machine areas (e.g. ProgramFilesFolder, HKLM) or to per-user areas. It's important to understand that the key path for a component is the only thing checked to decide whether to install the component. Once the decision has been taken to install the component, all the resources described in the component are installed. The SDK says Mixing per-user and per-machine data in the same component could result in only partial installation of the component for some users in a multi-user environment. You should place the per-machine resources into a separate component from the per-user resources. ICE90 says that [a] shortcut specified by a public property may not work if the value of the ALLUSERS property changes. It's recommended that the directory that shortcuts are placed into is not a configurable directory. -- Mike Dimmick -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Brian Elmegaard Sent: 19 July 2007 14:40 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Got the msi I wanted working Hi, finally I have been able to take the time and read this list, the tuorial and the help file carefully. I seem to have everything working as intended. I only have a few warnings when running msival2. I am not sure if I should be bothered because of warnings. The warnings I have are as shown below. If anyone would care to comment I would appreciate it: ICE33WARNING Reg key reg7EF074BB025A80CBFE2087521879C64E is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table. ICE57WARNING Component 'component15' has both per-user and per-machine data with an HKCU Registry KeyPath. ICE66WARNING Complete functionality of the MsiFileHash table is only available with Windows Installer version 1.5. Your schema is 100 ICE74WARNING The UpgradeCode property is not authored in the Property table. It is strongly recommended that authors of installation packages specify an UpgradeCode for their application. ICE82WARNING This action ResumeDlg has duplicate sequence number 1298 in the table InstallUISequence ICE90WARNING The shortcut 'dnamanushortcut' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence. tia, -- Brian (remove the sport for mail) http://www.et.web.mek.dtu.dk/Staff/be/be.html http://www.rugbyklubben-speed.dk - 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
Re: [WiX-users] Problem adding assembly to GAC
I saw a thread about GACing that said: 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. Is this true? I'm still not able to get the installer to work right. The files are there but it won't recognize them unless I manually GAC them. What could I be doing wrong? Thanks, Mike From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Wilson, Phil Sent: Wednesday, July 18, 2007 12:34 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Problem adding assembly to GAC Make sure that the internal name of the assembly matches the file name. If you renamed the assembly externally but its internal identity is the original name it won't install. As a check, if you try to install it to the GAC with a Visual Studio setup project the symptom of this is a build error ERROR: Assembly 'renamedassembly.dll' must have a shared name to be installed globally. I don't know if Wix makes this check at build time. ProcessorArchitecture, PublicKeyToken etc aren't used at install time if Wix does what I think it does. These values populate the MsiAssemblyName table and must reflect the real assembly because they're used at uninstall time to tell fusion to uininstall an assembly with this list of attributes. It doesn't need those attributes at install time because it has the actual assembly and can just get them. Phil Wilson From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mike Menaker Sent: Wednesday, July 18, 2007 10:43 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Problem adding assembly to GAC I have encountered a problem adding some assemblies to the GAC. The assembly I'm trying to add is wrapper to a COM object. When I just use TLBIMP it works fine. However I added versioning by: Using ildasm.exe to disassemble Then appending a resource file and using ilasm.exe to re assemble. However now when I use the installer the assemblies aren't found unless they are manually added to the GAC using GACUtil. One change I have noticed is that in the assembly it now notes the processor architecture as msil. However even when adding this ProcessorArchitecture=msil into the component it isn't gac'ed properly. Here is my component: Directory Id=GAC_ComponentsDir Name=GAC LongName=GlobalAssemblyCache FileSource='$(var.SOURCEPATH_COMPONENTS)' Component Id=GAC_ ASSEMBLY Guid=2CD36A99-7041-4fc2-A25F-50F02B36E042 File Id=ASSEMBLY_DLL Name=ASSEMB_2.DLL Vital=yes LongName= ASSEMBLY.dll KeyPath=yes Assembly=.net DiskId=1 / /Component Any body have any I idea what I could be doing wrong? Thanks, Mike - 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] Adobe Photoshop ready to download Our price US $ 269.90
Adobe Photoshop CS3 Extended $89 http://gosoftse.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] unconditional full install on minor upgrade
Thanks, the PackageCodes were same. I have changed them now, and I no longer get the Maintenance screen. However, Add remove programs contains entries for both the versions. How can I remove the older entry? I do have RemoveExistingProducts After=InstallInitialize / Does it have anything to do with the OnlyDetect=yes in UpgradeVersion.. Nitin _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Wilson, Phil Sent: Thursday, July 12, 2007 9:53 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] unconditional full install on minor upgrade The PackageCode guids - are they different? Phil Wilson _ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Nitin Sent: Thursday, July 12, 2007 8:49 AM To: 'Brian Simoneau'; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] unconditional full install on minor upgrade Hi Brain, I checked with Orca, my ProductsCodes are different and UpgradeCodes are same. Whats wrong? Anything I should check in the verbose log? - Nitin _ From: Brian Simoneau [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 11, 2007 6:42 PM To: Nitin; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] unconditional full install on minor upgrade Versions 0.3.0 and 0.4.0 must have the same UpgradeCode but different ProductCodes. If you are seeing maintenance mode, then they probably have the same ProductCode. -Brian Simoneau -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Nitin Sent: Wednesday, July 11, 2007 9:07 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] unconditional full install on minor upgrade Hi, I have 2 setups, one with version 0.3.0 and second with 0.4.0 These setups have been created using dark of a visual studio setup project and then UI was modified. It has the following tags Upgrade Id=78055FAC-F55D-409A-846A-50A03E3D81B6 UpgradeVersion Minimum=0.4.0 Property=NEWERPRODUCTFOUND OnlyDetect=yes IncludeMinimum=yes / Property Id=NEWERPRODUCTFOUND Secure=yes / UpgradeVersion Minimum=0.1.0 Maximum=0.4.0 Property=PREVIOUSVERSIONSINSTALLED IncludeMinimum=yes / Property Id=PREVIOUSVERSIONSINSTALLED Secure=yes / /Upgrade RemoveExistingProducts After=InstallInitialize / Both the versions have this same upgrade ID Now when I install 0.4.0 over 0.3.0, it shows me Maintenance Form. I have tried using Show Dialog=MaintenanceForm After=ResumeForm0/Show but it doesn't work. I have also added following properties Property Id=REINSTALL Value=ALL/Property Property Id=REINSTALLMODE Value=vomus/Property I want the 0.4.0 setup to uninstall 0.3.0 installation and do a full installation for 0.4.0 - Nitin - 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