Re: [WiX-users] Assistance using XmlConfig (assuming that is thecorrect hammer for this issue)
I haven't tried this in WiX itself but because you want to get to the child node value shouldn't your XPath query have /value at the end? Something like this: /configuration/applicationSettings/Microsoft.Lexicon.Framework.Backgrou ndLocalFileSettings/setting[@name='DatabaseServer']/value Cheers Sharad Patel -Original Message- From: Gregg Swanson [mailto:gregg.swan...@microsoft.com] Sent: Tuesday, 8 February 2011 10:10 a.m. To: wix-users@lists.sourceforge.net Subject: [WiX-users] Assistance using XmlConfig (assuming that is thecorrect hammer for this issue) Hello, I am looking for some help using XmlConfig, assuming that XmlConfig is the correct hammer for this issue. I have an app.config file that I would like to modify when it is installed, a sample config file - applicationSettings Microsoft.Lexicon.Framework.BackgroundLocalFileSettings setting name=DatabaseServer serializeAs=String value(local)/value /setting setting name=DefaultDatabase serializeAs=String valueTexusCatalog/value /setting /Microsoft.Lexicon.Framework.BackgroundLocalFileSettings /applicationSettings I would like to replace the strings value(local)/value and valueTexusCatalog/TexusCatalog with the contents of a property. In tried the following line of WIX to accomplish the task - util:XmlConfig Id=Config.Update Action=create Sequence=1125 ElementPath=/configuration/applicationSettings/Microsoft.Lexicon.Framew ork.BackgroundLocalFileSettings/setting[\[]@name='DatabaseServer'[\]] VerifyPath=/configuration/applicationSettings/Microsoft.Lexicon.Framewo rk.BackgroundLocalFileSettings/setting[\[]@name='DatabaseServer'[\]] File=[MyModuleDirectory]$(var.StorageAgentWindowsService.TargetFileName ).config Node=value Name =value Value=[CATALOGSERVER] On=install/ This resulted in a fragment that looked like this - setting name=DatabaseServer serializeAs=String value=myserservername value(local)/value /setting I am new to WIX so any help would be appreciated. Thanks, Gregg -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Assistance using XmlConfig (assuming that is thecorrect hammer for this issue)
Modify the Configurations as below and try util:XmlConfig Id=Config.Update *Action=setValue * Sequence=1125 * ElementPath=/configuration/applicationSettings/Microsoft.Lexicon.Framework.BackgroundLocalFileSettings/setting[\[]@name='DatabaseServer'[\]]/value VerifyPath=/configuration/applicationSettings/Microsoft.Lexicon.Framework.BackgroundLocalFileSettings/setting[\[]@name='DatabaseServer'[\]]/value * File=[MyModuleDirectory]$(var.StorageAgentWindowsService.TargetFileName).config *Value=[CATALOGSERVER] * On=install/ Action = createElement is to create a new element. As the element is already existing you should use Action = setValue Thanks Regards, Bharat Jasti Web Applications Developer Rainbow Design Services, Inc. On Mon, Feb 7, 2011 at 4:51 PM, Sharad Patel spa...@winscribe.com wrote: I haven't tried this in WiX itself but because you want to get to the child node value shouldn't your XPath query have /value at the end? Something like this: /configuration/applicationSettings/Microsoft.Lexicon.Framework.Backgrou ndLocalFileSettings/setting[@name='DatabaseServer']/value Cheers Sharad Patel -Original Message- From: Gregg Swanson [mailto:gregg.swan...@microsoft.com] Sent: Tuesday, 8 February 2011 10:10 a.m. To: wix-users@lists.sourceforge.net Subject: [WiX-users] Assistance using XmlConfig (assuming that is thecorrect hammer for this issue) Hello, I am looking for some help using XmlConfig, assuming that XmlConfig is the correct hammer for this issue. I have an app.config file that I would like to modify when it is installed, a sample config file - applicationSettings Microsoft.Lexicon.Framework.BackgroundLocalFileSettings setting name=DatabaseServer serializeAs=String value(local)/value /setting setting name=DefaultDatabase serializeAs=String valueTexusCatalog/value /setting /Microsoft.Lexicon.Framework.BackgroundLocalFileSettings /applicationSettings I would like to replace the strings value(local)/value and valueTexusCatalog/TexusCatalog with the contents of a property. In tried the following line of WIX to accomplish the task - util:XmlConfig Id=Config.Update Action=create Sequence=1125 ElementPath=/configuration/applicationSettings/Microsoft.Lexicon.Framew ork.BackgroundLocalFileSettings/setting[\[]@name='DatabaseServer'[\]] VerifyPath=/configuration/applicationSettings/Microsoft.Lexicon.Framewo rk.BackgroundLocalFileSettings/setting[\[]@name='DatabaseServer'[\]] File=[MyModuleDirectory]$(var.StorageAgentWindowsService.TargetFileName ).config Node=value Name =value Value=[CATALOGSERVER] On=install/ This resulted in a fragment that looked like this - setting name=DatabaseServer serializeAs=String value=myserservername value(local)/value /setting I am new to WIX so any help would be appreciated. Thanks, Gregg -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Registering Log Parser DLL with Heat
Hi Pally, Thanks for your response. I included the component in my Features.I verified the installer with InstEd and could see class id's in registry table. Coming to Component Id and File Id, i have just change them for the email sake so that it will be generic. What i am wondering is this some kind of permission issue which is blocking the installer to write to registry? ThanksSrikanth Date: Mon, 7 Feb 2011 12:29:17 + From: pally.sand...@iesve.com To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Registering Log Parser DLL with Heat Probably a stupid question but is your Fragment actually getting included in your MSI? Do you have a ComponentRef for that Component in your Features? Open the MSI in InstEd! or Orca see if any of your Class Id's or TypeLibs from the Fragment below are listed in the Registry table. If they aren't, that's your issue. Also Component Id=Component File Id=Component_DLL aren't exactly the most descriptive of names. Unless you're obfuscating them for some reason I'd change those to something more obvious like LogParser or LogParser.dll. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Srikanth udayananda [mailto:srikanth...@hotmail.com] Sent: 03 February 2011 21:48 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Registering Log Parser DLL with Heat Hi, I am trying to register LogParser dll using Heat tool. I am using Wix version 3.5 DLL is not getting registered on the server during deployment.During installation, i am able to see the generated dll in installation folder, but still the dll is not registered. Am i missing some thing here.Is it any kind of permission issue while writing to registry or problem with my code.Could anyone please help me resolving this, i am actually blocked on this. Here is the fragment i got by harvesting the dll.?xml version=1.0 encoding=UTF-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Fragment DirectoryRef Id=INSTALLLOCATION Directory Id=LogParserDir Name=LogParser/ /DirectoryRef /Fragment Fragment DirectoryRef Id=LogParserDir Component Id=Component Guid={3D50126D-0E5C-418F-8742-359C3FB548F5} File Id=Component_DLL KeyPath=yes Source=$(var.SolutionDir)\Input\LogParser.dll AppId Description=MSUtil Id={3040E2D1-C692-4081-91BB-75F08FEE0EF6} Class Id={0173E9B3-19C1-4A25-995B-4B19EBD68025} Context=InprocServer32 Description=LogQuery.NetMonInputFormat ThreadingModel=apartment ProgId Id=MSUtil.LogQuery.NetMonInputFormat.1 Description=LogQuery.NetMonInputFormat ProgId Id=MSUtil.LogQuery.NetMonInputFormat Description=LogQuery.NetMonInputFormat / /ProgId /Class Class Id={0776E95A-34E3-4488-886E-094BA16BB6BD} Context=InprocServer32 Description=LogQuery.XMLInputFormat ThreadingModel=apartment ProgId Id=MSUtil.LogQuery.XMLInputFormat.1 Description=LogQuery.XMLInputFormat ProgId Id=MSUtil.LogQuery.XMLInputFormat Description=LogQuery.XMLInputFormat / /ProgId /Class Class Id={0A402C88-0CEB-42C6-A15B-32AA45052706} Context=InprocServer32 Description=LogQuery.TextWordInputFormat ThreadingModel=apartment ProgId Id=MSUtil.LogQuery.TextWordInputFormat.1 Description=LogQuery.TextWordInputFormat ProgId Id=MSUtil.LogQuery.TextWordInputFormat Description=LogQuery.TextWordInputFormat / /ProgId /Class Class Id={0FFF4843-4EAD-447C-8AA4-2D3BF639F5FC} Context=InprocServer32 Description=LogQuery.SQLOutputFormat ThreadingModel=apartment ProgId Id=MSUtil.LogQuery.SQLOutputFormat.1 Description=LogQuery.SQLOutputFormat ProgId Id=MSUtil.LogQuery.SQLOutputFormat Description=LogQuery.SQLOutputFormat / /ProgId /Class Class Id={252A24E7-067F-4875-8510-7533F8B6915E} Context=InprocServer32 Description=LogQuery.IISIISInputFormat ThreadingModel=apartment ProgId Id=MSUtil.LogQuery.IISIISInputFormat.1 Description=LogQuery.IISIISInputFormat ProgId Id=MSUtil.LogQuery.IISIISInputFormat Description=LogQuery.IISIISInputFormat / /ProgId /Class Class Id={29467682-1CFC-46EA-B64D-EB31A56B321D} Context=InprocServer32 Description=LogQuery.XMLOutputFormat ThreadingModel=apartment ProgId Id=MSUtil.LogQuery.XMLOutputFormat.1
Re: [WiX-users] Assistance using XmlConfig (assuming that is thecorrect hammer for this issue)
Thanks for the help! I also had to change to use XmlFile versus XmlConfig. The following fragment is working. util:XmlFile Id=Config.Update Action=setValue Sequence=1125 ElementPath=/configuration/applicationSettings/Microsoft.Lexicon.Framework.BackgroundLocalFileSettings/setting[\[]@name='DatabaseServer'[\]]/value File=[MyModuleDirectory]$(var.StorageAgentWindowsService.TargetFileName).config Value=[CATALOGSERVER] / Thanks, Gregg -Original Message- From: bharat jasti [mailto:bharat.ja...@gmail.com] Sent: Monday, February 07, 2011 4:51 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Assistance using XmlConfig (assuming that is thecorrect hammer for this issue) Modify the Configurations as below and try util:XmlConfig Id=Config.Update *Action=setValue * Sequence=1125 * ElementPath=/configuration/applicationSettings/Microsoft.Lexicon.Framework.BackgroundLocalFileSettings/setting[\[]@name='DatabaseServer'[\]]/value VerifyPath=/configuration/applicationSettings/Microsoft.Lexicon.Framework.BackgroundLocalFileSettings/setting[\[]@name='DatabaseServer'[\]]/value * File=[MyModuleDirectory]$(var.StorageAgentWindowsService.TargetFileName).config *Value=[CATALOGSERVER] * On=install/ Action = createElement is to create a new element. As the element is already existing you should use Action = setValue Thanks Regards, Bharat Jasti Web Applications Developer Rainbow Design Services, Inc. On Mon, Feb 7, 2011 at 4:51 PM, Sharad Patel spa...@winscribe.com wrote: I haven't tried this in WiX itself but because you want to get to the child node value shouldn't your XPath query have /value at the end? Something like this: /configuration/applicationSettings/Microsoft.Lexicon.Framework.Backgr ou ndLocalFileSettings/setting[@name='DatabaseServer']/value Cheers Sharad Patel -Original Message- From: Gregg Swanson [mailto:gregg.swan...@microsoft.com] Sent: Tuesday, 8 February 2011 10:10 a.m. To: wix-users@lists.sourceforge.net Subject: [WiX-users] Assistance using XmlConfig (assuming that is thecorrect hammer for this issue) Hello, I am looking for some help using XmlConfig, assuming that XmlConfig is the correct hammer for this issue. I have an app.config file that I would like to modify when it is installed, a sample config file - applicationSettings Microsoft.Lexicon.Framework.BackgroundLocalFileSettings setting name=DatabaseServer serializeAs=String value(local)/value /setting setting name=DefaultDatabase serializeAs=String valueTexusCatalog/value /setting /Microsoft.Lexicon.Framework.BackgroundLocalFileSettings /applicationSettings I would like to replace the strings value(local)/value and valueTexusCatalog/TexusCatalog with the contents of a property. In tried the following line of WIX to accomplish the task - util:XmlConfig Id=Config.Update Action=create Sequence=1125 ElementPath=/configuration/applicationSettings/Microsoft.Lexicon.Fram ew ork.BackgroundLocalFileSettings/setting[\[]@name='DatabaseServer'[\]] VerifyPath=/configuration/applicationSettings/Microsoft.Lexicon.Frame wo rk.BackgroundLocalFileSettings/setting[\[]@name='DatabaseServer'[\]] File=[MyModuleDirectory]$(var.StorageAgentWindowsService.TargetFileNa me ).config Node=value Name =value Value=[CATALOGSERVER] On=install/ This resulted in a fragment that looked like this - setting name=DatabaseServer serializeAs=String value=myserservername value(local)/value /setting I am new to WIX so any help would be appreciated. Thanks, Gregg -- -- -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle.
Re: [WiX-users] WriteIIS7ConfigChanges - Stuck with 1603 error codes???
What version of WiX v3.5 are you using? On Mon, Feb 7, 2011 at 11:50 AM, kim contactme...@gmail.com wrote: Receving following error when trying to create a website from msi. Target machine is Windows 7-32 bit machine. To my surprise, this same code has work numerous times before on different hadrware without any issues. Snippet from log file: Action 12:34:42: StartIIS7ConfigTransaction. Starting IIS Config Transaction Action 12:34:42: RollbackIIS7ConfigTransaction. Rolling back IIS Config Transaction Action 12:34:42: CommitIIS7ConfigTransaction. Committing IIS Config Transaction Action 12:34:42: ConfigureIIs7Exec. Action 12:34:43: WriteIIS7ConfigChanges. Installing Config Keys and Values CustomAction WriteIIS7ConfigChanges returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox) Action ended 12:34:43: InstallFinalize. Return value 3. Following is code I am using to create website: Component Id=IISConfiguration Guid={E2CF0EE0-DBBE-4905-B860-07CCCAB4E3B6} KeyPath=yes iis:WebVirtualDir Id=WebSiteVirtualDir Alias=[WEBSITENAME] Directory=INSTALLDIR WebSite= DefaultWebSite iis:WebApplication Id=WebSiteApp Name=[WEBSITENAME]App Isolation=medium / iis:WebDirProperties Id=WebDir AnonymousAccess=yes WindowsAuthentication=yes / /iis:WebVirtualDir /Component Any suggestions why I am receving this error all of sudden? I am using WIX 3.5. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/WriteIIS7ConfigChanges-Stuck-with-1603-error-codes-tp6001526p6001526.html Sent from the wix-users mailing list archive at Nabble.com. -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- virtually, Rob Mensching - http://RobMensching.com LLC -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Component GUIDs on 32/64-bit WXS File
If the Components are mutually exclusive, then you can probably get away with the same GUIDs. I personally would start planning to get the GUIDs to be different (auto-guid is ideal) just in case the mutual exclusivity runs out. On Mon, Feb 7, 2011 at 11:23 AM, Quinton Tormanen quint...@deltamotion.comwrote: We've distributed our application for some time as a 32-bit app, and then later we added a 64-bit installer to get the 64-bit USB drivers installed, but still installed our native application as 32-bit (using WOW64). Now I need to make the 64-bit installer use the 64-bit EXE (while the 32-bit installer still uses the 32-bit EXE) and I'd like to do it from a single source (wxs). I'm already using the -arch option, and have changed the root directory from ProgramFilesFolder to ProgramFiles64Folder for the 64-bit build. The requirement that I'm a little puzzled by is the requirement for unique Component GUIDs on the 32- and 64-bit versions of the components, which I presume is because I'm moving the install directory base from ProgramFilesFolder to ProgramFiles64Folder. I understand the value of having them being unique, although our application has a strict condition where only one of the 32- and 64-bit installers can be installed. But how should this be done most cleanly? I can't use Id=* at this point since I've already had our product out for some time with the existing GUIDs and I assume I don't want to change those. I have 12 components switching from 32- to 64-bit in the 64-bit package, so do I just need to conditionally set the IDs for each (presumably using ?if $(sys.BUILDARCH) = x86 ? to set local variables for the GUIDs) or is there a better way? Or is this not really a requirement in my case? I know this subject has been discussed in the past, but couldn't find an answer to this specific question. Thanks for any guidance you guys can provide. Quinton Tormanen Software Engineer Delta Computer Systems, Inc. http://www.deltamotion.com -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- virtually, Rob Mensching - http://RobMensching.com LLC -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] WCF server cannot connect to the remote database.
I have a WCF service which is run as a windows service. This WCF service connects to a SQL server. I used Wix / ServiceInstall to register the WCF service. There is no database connection issue when both WCF service and SQL server are on the local machine. When installing WCF server on machine A and database on machine B, the WCF service fails to login. The login user is setup correctly. A way to solve this, I no longer use Wix / ServiceInstall. I used InstallUtil.exe instead. Then the database connection issue goes away. I'm wondering if there is another way to register the WCF service hosted by the windows service in Wix--equivalent to InstallUtil.exe. Thank you. -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] WCF server cannot connect to the remote database.
On Tue, Feb 8, 2011 at 8:26 AM, Thai-Hoa Nguyen taiwa...@hotmail.com wrote: A way to solve this, I no longer use Wix / ServiceInstall. I used InstallUtil.exe instead. Then the database connection issue goes away. I'm wondering if there is another way to register the WCF service hosted by the windows service in Wix--equivalent to InstallUtil.exe. Does your setup configure the service identically? Runs as the same user? If using named pipes to connect to the SQL Server, then your service probably have to run as a domain user. One thing that is easy to miss is that the ServiceInstaller class in .Net also uses an EventLogInstaller. I don't think that accounts for the problem you're seeing, but that is one difference worth paying attention to. (plus checking the event log itself might reveal some log entries explaining why you struggle hooking up to the database) (It would be nice if WiX offered a custom action that would simply invoke the Installer class in a given assembly) -- Rune -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Patching multiple major upgrade releases with different product codes
There is a 'hacky' way to do it but bear in mind that once you follow the 'hacky' method, all future patches will be required to be built the same way. Also because you've 4 Products, your patches are going to be around 4 times as big as each Product will have it's own CAB (since it has it's own transforms). You need a Patch Family for each unique Product (in your case 4). To get the new admin image for each one take a copy of the one you already have, open it in an MSI editor like InstEd! or Orca, set the Product Code to the same as one of the other versions regenerate the Package code. Save your MSI you now have a version which will update another Product. Do this another 2 times for the other 2 Products, set up your Patch Family's accordingly add TargetProductCode elements for your 4 Products it should create an MSP containing the transforms for each Product up to the new one (open the MSP in InstEd! or Orca you should see a bunch of .mst files It is a horrible horrible hack though as stated before, you'll need to keep doing the same for each subsequent patch which is neither fun nor quick to create test each time. Personally I'd release a Major Upgrade in which you define your Product Code rather than using an auto-generated one patch from that basis as it's more reliable way less hassle. Moral of the story: Using * for Product Id isn't always a good idea. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Tom Crozier [mailto:tcroz...@rackwise.com] Sent: 03 February 2011 20:13 To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] Patching multiple major upgrade releases with different product codes All - I have multiple versions of a product released in the field that I need to upgrade with a patch. The installer that all the versions are all based on can perform a major upgrade from a previous version. I believe they should have used the same product id but they don't because the wxs file has '*' for the product id. All the versions are basically the same except for a few additional files from the original version to the latest one. The version numbers of the installers only differ in the fourth place (e.g. 1.5.0.120, 1.5.0.147, 1.5.0.162 and 1.5.0.188)and they all use the same upgrade code. My question is how do I go about creating a patch that can upgrade all four versions and bring them up to the same version so they can be updated in the future? I seem to be able to create a patch against a single version but against multiple versions I get the following error. ERROR: Since MSI 3.0 will block installation of major upgrade patches with sequencing information, creation of such patches is blocked. The following is the start of my patch creation file which worked until I put the second TargetImage line in. ?xml version='1.0' encoding='windows-1252'? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; ?define var.Manufacturer = Acme, Inc.? ?define var.PRODUCTNAME = App ? ?define var.ReleaseNumber= 1.5.0 ? PatchCreation Id='{01865DA7-1DE1-45ab-BB7C-7B89CA10CBCC}' AllowMajorVersionMismatches='no' AllowProductCodeMismatches='yes' CleanWorkingFolder='yes' WholeFilesOnly='yes' PatchInformation Description=App SP 1 Keywords='Installer,MSI,Database' Comments='App SP 1' Manufacturer='$(var.Manufacturer)' Languages='1033' Compressed='yes' SummaryCodepage='1252' ShortNames=no / PatchMetadata Description=1st service pack for App DisplayName='App SP 1' TargetProductName='$(var.PRODUCTNAME) v$(var.ReleaseNumber)' ManufacturerName='$(var.Manufacturer)' MoreInfoURL='www.acme.com' Classification='Service Pack' AllowRemoval='no' / Family Name='APP150' DiskId='3' MediaSrcProp='APP150Src' SequenceStart='2000' UpgradeImage Id='PatchedImage' SourceFile='C:\Official Releases\1.5.0.227\AdminVer\App.msi' TargetImage Id='OrigImage' Order='2' IgnoreMissingFiles='no' SourceFile='C:\Official Releases\1.5.0.120\AdminVer\App.msi'/ TargetImage Id='OrigImage2' Order='3' IgnoreMissingFiles='no' SourceFile='C:\Official Releases\1.5.0.147\AdminVer\App.msi'/ /UpgradeImage /Family /PatchCreation /Wix Thanks for your help Tom -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a
Re: [WiX-users] ICE57 and non-advertised shortcuts
The recommended method to create shortcuts is almost as per your code. See http://wix.sourceforge.net/manual-wix3/create_start_menu_shortcut.htm I don't particularly like putting HKCU keys in a per-machine package either but that seems to be the accepted method so I've learned to live with it. You're getting the ICE43 warning because you have a File Element in that component which presumably is installed to a per-machine location. Splitting the Shortcut the file into separate components as per the example in the How to guide will remove the warning. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Rune Moberg [mailto:jjfl...@gmail.com] Sent: 05 February 2011 11:57 To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] ICE57 and non-advertised shortcuts Some observations: 1) My package has InstallScope=perMachine because if I left it at the default, my shortcuts showed up in my user's profile (not all users). 2) I need to create a shortcut for the user's manual: Component Id=swemm3man Guid=4e4f1188-a166-44ab-a7c6-3ed72207fef3 RegistryValue Root=HKCU Key=$(var.MM3RegKey) Type=string Value= KeyPath=yes/ File Id=swemm3man Source=$(var.Binaries)SWE\MM3Manual.pdf Shortcut Id=swemanshort Name=Användarhandledning Directory=SweDoc Advertise=no Description=Visa användarhandledningen till Mikromarc 3-klienten/ /File /Component Without RegistryValue I get error ICE43: Component swemm3man has non-advertised shortcuts. It should use a registry key under HKCU as its KeyPath, not a file.. But with RegistryValue left in, I only get the warning ICE57: Component 'normm3hlp' has both per-user and per-machine data with an HKCU Registry KeyPath. Changing the RegistryValue's Root to HKMU turns ICE57 into an error (rather than a warning). 3) I could of course turn it into an advertised shortcut, but then the icon goes AWOL. 4) Well, I could do 3) AND supply an icon of my own, which would look strange to the user because chances are he is using a different pdf-reader than mine. I've googled my little heart out, and can't find a way other than to ignore the ICE57 warning (along with some potential registry pollution that most users consider to be inevitable these days anyway). -- Rune -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Registering Log Parser DLL with Heat
Probably a stupid question but is your Fragment actually getting included in your MSI? Do you have a ComponentRef for that Component in your Features? Open the MSI in InstEd! or Orca see if any of your Class Id's or TypeLibs from the Fragment below are listed in the Registry table. If they aren't, that's your issue. Also Component Id=Component File Id=Component_DLL aren't exactly the most descriptive of names. Unless you're obfuscating them for some reason I'd change those to something more obvious like LogParser or LogParser.dll. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Srikanth udayananda [mailto:srikanth...@hotmail.com] Sent: 03 February 2011 21:48 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Registering Log Parser DLL with Heat Hi, I am trying to register LogParser dll using Heat tool. I am using Wix version 3.5 DLL is not getting registered on the server during deployment.During installation, i am able to see the generated dll in installation folder, but still the dll is not registered. Am i missing some thing here.Is it any kind of permission issue while writing to registry or problem with my code.Could anyone please help me resolving this, i am actually blocked on this. Here is the fragment i got by harvesting the dll.?xml version=1.0 encoding=UTF-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Fragment DirectoryRef Id=INSTALLLOCATION Directory Id=LogParserDir Name=LogParser/ /DirectoryRef /Fragment Fragment DirectoryRef Id=LogParserDir Component Id=Component Guid={3D50126D-0E5C-418F-8742-359C3FB548F5} File Id=Component_DLL KeyPath=yes Source=$(var.SolutionDir)\Input\LogParser.dll AppId Description=MSUtil Id={3040E2D1-C692-4081-91BB-75F08FEE0EF6} Class Id={0173E9B3-19C1-4A25-995B-4B19EBD68025} Context=InprocServer32 Description=LogQuery.NetMonInputFormat ThreadingModel=apartment ProgId Id=MSUtil.LogQuery.NetMonInputFormat.1 Description=LogQuery.NetMonInputFormat ProgId Id=MSUtil.LogQuery.NetMonInputFormat Description=LogQuery.NetMonInputFormat / /ProgId /Class Class Id={0776E95A-34E3-4488-886E-094BA16BB6BD} Context=InprocServer32 Description=LogQuery.XMLInputFormat ThreadingModel=apartment ProgId Id=MSUtil.LogQuery.XMLInputFormat.1 Description=LogQuery.XMLInputFormat ProgId Id=MSUtil.LogQuery.XMLInputFormat Description=LogQuery.XMLInputFormat / /ProgId /Class Class Id={0A402C88-0CEB-42C6-A15B-32AA45052706} Context=InprocServer32 Description=LogQuery.TextWordInputFormat ThreadingModel=apartment ProgId Id=MSUtil.LogQuery.TextWordInputFormat.1 Description=LogQuery.TextWordInputFormat ProgId Id=MSUtil.LogQuery.TextWordInputFormat Description=LogQuery.TextWordInputFormat / /ProgId /Class Class Id={0FFF4843-4EAD-447C-8AA4-2D3BF639F5FC} Context=InprocServer32 Description=LogQuery.SQLOutputFormat ThreadingModel=apartment ProgId Id=MSUtil.LogQuery.SQLOutputFormat.1 Description=LogQuery.SQLOutputFormat ProgId Id=MSUtil.LogQuery.SQLOutputFormat Description=LogQuery.SQLOutputFormat / /ProgId /Class Class Id={252A24E7-067F-4875-8510-7533F8B6915E} Context=InprocServer32 Description=LogQuery.IISIISInputFormat ThreadingModel=apartment ProgId Id=MSUtil.LogQuery.IISIISInputFormat.1 Description=LogQuery.IISIISInputFormat ProgId Id=MSUtil.LogQuery.IISIISInputFormat Description=LogQuery.IISIISInputFormat / /ProgId /Class Class Id={29467682-1CFC-46EA-B64D-EB31A56B321D} Context=InprocServer32 Description=LogQuery.XMLOutputFormat ThreadingModel=apartment ProgId Id=MSUtil.LogQuery.XMLOutputFormat.1 Description=LogQuery.XMLOutputFormat ProgId Id=MSUtil.LogQuery.XMLOutputFormat Description=LogQuery.XMLOutputFormat / /ProgId /Class Class Id={2C4C2DB5-61C5-4D45-A66F-2071EC069328} Context=InprocServer32 Description=LogQuery.ChartOutputFormat ThreadingModel=apartment ProgId Id=MSUtil.LogQuery.ChartOutputFormat.1 Description=LogQuery.ChartOutputFormat ProgId Id=MSUtil.LogQuery.ChartOutputFormat Description=LogQuery.ChartOutputFormat / /ProgId /Class Class Id={342148B3-7F11-4F39-A287-6829F83FABDA} Context=InprocServer32
Re: [WiX-users] -reusecab doesn't work on dynamic views
Really? It seems like your build is broken to me. I already provided a work around, use a snapshot view. Use a dynamic view to robocopy to a temp directory on NTFS. There was a discussion on StackOverflow that Light in v3.5 has been updated to look at md5 checksums and time date stamps. I can't think of any better reason to get your build off of a dynamic view because if light starts hashing your files over and over that's going to be really slow over the wire back to the clearcase server. PS- I wish my builds were 6 minutes. One branch of our product line takes as much as 18 hours to build all the way up. --- Christopher Painter, Author of Deployment Engineering Blog Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me - Original Message From: maksim.vazhe...@emc.com maksim.vazhe...@emc.com To: wix-users@lists.sourceforge.net Sent: Mon, February 7, 2011 1:03:37 AM Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views Chris, I have no problem with the build itself. But now it takes ~6 min for one package instead of ~2 (when the build runs for 3 platforms for 2 build types, it is a big delay..). Rob, I think the problem here is that light.exe validates the timestamps for all files each time, and on clearcase dynamic view it is updated continuously. I have one set of files for all cultures, so I want to reuse .cab during the build of the package for each culture (I do not need to reuse .cab between the builds). Could you provide any workaround for this problem? Thanks, Maksim. -Original Message- From: Christopher Painter [mailto:chr...@deploymentengineering.com] Sent: Saturday, February 05, 2011 2:38 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views Dynamic views are a clearcase concept. Basically it's a virtual file system that uses a config spec to represent a particular branch in source control. They can be very useful in certain circumstances ( as the build/install lead I'm in dozens of vobs and branches daily and I wouldn't want to have to always be loading snapshot views locally to touch a file here and there) but they aren't approriate in other situations such as opening an entire solution and/or build code. So my short answer would be, don't do that. As a side note, I've kind rolled my own ClearCase UCM with a program called ViewMaster. It's kind of like the child's toy where you click the button and get to see a different picture. Developers pick from a (filterable ) list of builds and select Open and their dynamic view is reconfigured for that baseline. Chris --- Christopher Painter, Author of Deployment Engineering Blog Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me - Original Message From: Rob Mensching r...@robmensching.com To: General discussion for Windows Installer XML toolset. wix-users@lists.sourceforge.net Sent: Fri, February 4, 2011 5:04:06 PM Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views What is a dynamic view? On Fri, Feb 4, 2011 at 6:22 AM, maksim.vazhe...@emc.com wrote: Hi all, Is there a way to make light.exe correctly work with '-reusecab' option on dynamic views? Cabinet file is generated for each culture even with '-cc /cach_path/ -reusecab'. Thanks, Maksim. Build log: Target Link: M:\vazhem_wix_boot_from_san\thirdparty\opensrc\wix\3.5\Light.exe -sw1076 -sw1118 -v -cc M:\vazhem_wix_boot_from_san\wintools\.package\EmcPowerPath\interim\install\EMCPowerPath.Net32.5.6.b157.dbg.WiX\msi\ \ -cultures:de-de -ext M:\vazhem_wix_boot_from_san\thirdparty\opensrc\wix\3.5\WixUtilExtension.dll -ext M:\vazhem_wix_boot_from_san\thirdparty\opensrc\wix\3.5\WixUIExtension.dll -ext M:\vazhem_wix_boot_from_san\ppmpio\src\pkg\windows\setup\msi\ext\bin\x86\Debug\WixPPDriversExtension.dll l -ext M:\vazhem_wix_boot_from_san\ppmpio\src\pkg\windows\setup\msi\ext\bin\x86\Debug\WixPPSupportFileExtension.dll l -loc culture\de-de.wxl -loc culture\en-us.wxl -loc culture\es-es.wxl -loc culture\fr-fr.wxl -loc culture\it-it.wxl -loc culture\ja-jp.wxl -loc culture\ko-kr.wxl -loc culture\pt-br.wxl -loc culture\zh-cn.wxl -out M:\vazhem_wix_boot_from_san\wintools\.package\EmcPowerPath\interim\install\EMCPowerPath.Net32.5.6.b157.dbg.WiX\msi\de-de\Setup.msi i -pdbout M:\vazhem_wix_boot_from_san\wintools\.package\EmcPowerPath\interim\install\EMCPowerPath.Net32.5.6.b157.dbg.WiX\msi\de-de\Setup.wixpdb b -reusecab -sice:ICE20 -sice:ICE38 -sice:ICE43 -sice:ICE69 -sice:ICE80 M:\vazhem_wix_boot_from_san\wintools\.package\EmcPowerPath\interim\wixbuild\NET\CHECKED\EMCPowerPath.Net32.5.6.b157.dbg.WiX\Base.wixobj j M:\vazhem_wix_boot_from_san\wintools\.package\EmcPowerPath\interim\wixbuild\NET\CHECKED\EMCPowerPath.Net32.5.6.b157.dbg.WiX\Common.wixobj j
Re: [WiX-users] Getting SQL Server instance name?
Check a verbose log. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: kim [mailto:contactme...@gmail.com] Sent: 04 February 2011 19:06 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Getting SQL Server instance name? Using WIX i would like to know what instance of SQL Server is installed on target machine. If installed, get the name and set it as one of the property value to be displayed in my custom dialog. I am using the following code to find if SQL Server is installed and using SQLSERVER property to set the my control's value, but its coming up as empty: Property Id=SQLSERVER RegistrySearch Id=SQLServer Root=HKLM Key=SOFTWARE\Microsoft\Microsoft SQL Server Type=raw Name=InstalledInstances//Property Condition Message=Error: This application requires Microsoft SQL Server 2005/2008 to be installed. Please install Microsoft SQL Server 2005/2008 and run this installer again.SQLSERVER/Condition Custom Dialog: Control Type=Text Id=lblInstanceName Width=100 Height=14 X=22 Y=124 Text=Instance Name : TabSkip=yes / Control Type=Edit Id=txtInstanceName Width=150 Height=15 X=22 Y=139 Property=SQLSERVER Text=[SQLSERVER] / Can someone please guide me what am I doing wrong here? Thanks! -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Getting-SQ L-Server-instance-name-tp5993646p5993646.html Sent from the wix-users mailing list archive at Nabble.com. -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] -reusecab doesn't work on dynamic views
It was just a little block of build log, maybe it was confusing. Build is ok. Snapshot views are certainly good for it, but I also want to make it faster on dynamic views. Is it possible to introduce something like '-forcesreusecab' command line option for light.exe to skip files' validation (so if there is no .cab in the directory it will be created, if .cab already exists, it won't be checked)? Thanks, Maksim PS- 6 minutes - it is only installer build (when all binaries were already built). Maybe you should try to optimize\parallelize your build... :) -Original Message- From: Christopher Painter [mailto:chr...@deploymentengineering.com] Sent: Monday, February 07, 2011 4:38 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views Really? It seems like your build is broken to me. I already provided a work around, use a snapshot view. Use a dynamic view to robocopy to a temp directory on NTFS. There was a discussion on StackOverflow that Light in v3.5 has been updated to look at md5 checksums and time date stamps. I can't think of any better reason to get your build off of a dynamic view because if light starts hashing your files over and over that's going to be really slow over the wire back to the clearcase server. PS- I wish my builds were 6 minutes. One branch of our product line takes as much as 18 hours to build all the way up. --- Christopher Painter, Author of Deployment Engineering Blog Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me - Original Message From: maksim.vazhe...@emc.com maksim.vazhe...@emc.com To: wix-users@lists.sourceforge.net Sent: Mon, February 7, 2011 1:03:37 AM Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views Chris, I have no problem with the build itself. But now it takes ~6 min for one package instead of ~2 (when the build runs for 3 platforms for 2 build types, it is a big delay..). Rob, I think the problem here is that light.exe validates the timestamps for all files each time, and on clearcase dynamic view it is updated continuously. I have one set of files for all cultures, so I want to reuse .cab during the build of the package for each culture (I do not need to reuse .cab between the builds). Could you provide any workaround for this problem? Thanks, Maksim. -Original Message- From: Christopher Painter [mailto:chr...@deploymentengineering.com] Sent: Saturday, February 05, 2011 2:38 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views Dynamic views are a clearcase concept. Basically it's a virtual file system that uses a config spec to represent a particular branch in source control. They can be very useful in certain circumstances ( as the build/install lead I'm in dozens of vobs and branches daily and I wouldn't want to have to always be loading snapshot views locally to touch a file here and there) but they aren't approriate in other situations such as opening an entire solution and/or build code. So my short answer would be, don't do that. As a side note, I've kind rolled my own ClearCase UCM with a program called ViewMaster. It's kind of like the child's toy where you click the button and get to see a different picture. Developers pick from a (filterable ) list of builds and select Open and their dynamic view is reconfigured for that baseline. Chris --- Christopher Painter, Author of Deployment Engineering Blog Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me - Original Message From: Rob Mensching r...@robmensching.com To: General discussion for Windows Installer XML toolset. wix-users@lists.sourceforge.net Sent: Fri, February 4, 2011 5:04:06 PM Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views What is a dynamic view? On Fri, Feb 4, 2011 at 6:22 AM, maksim.vazhe...@emc.com wrote: Hi all, Is there a way to make light.exe correctly work with '-reusecab' option on dynamic views? Cabinet file is generated for each culture even with '-cc /cach_path/ -reusecab'. Thanks, Maksim. Build log: Target Link: M:\vazhem_wix_boot_from_san\thirdparty\opensrc\wix\3.5\Light.exe -sw1076 -sw1118 -v -cc M:\vazhem_wix_boot_from_san\wintools\.package\EmcPowerPath\interim\install\EMCPowerPath.Net32.5.6.b157.dbg.WiX\msi\ \ -cultures:de-de -ext M:\vazhem_wix_boot_from_san\thirdparty\opensrc\wix\3.5\WixUtilExtension.dll -ext M:\vazhem_wix_boot_from_san\thirdparty\opensrc\wix\3.5\WixUIExtension.dll -ext M:\vazhem_wix_boot_from_san\ppmpio\src\pkg\windows\setup\msi\ext\bin\x86\Debug\WixPPDriversExtension.dll l -ext M:\vazhem_wix_boot_from_san\ppmpio\src\pkg\windows\setup\msi\ext\bin\x86\Debug\WixPPSupportFileExtension.dll l -loc culture\de-de.wxl -loc culture\en-us.wxl -loc culture\es-es.wxl -loc culture\fr-fr.wxl -loc culture\it-it.wxl -loc
Re: [WiX-users] Getting SQL Server instance name?
HKLM SOFTWARE\Microsoft\Microsoft SQL Server returns a MULTI_SZ so you'll need to parse it to a string first... But how should your code function when there are more instances installed -Oorspronkelijk bericht- Van: Pally Sandher [mailto:pally.sand...@iesve.com] Verzonden: maandag 7 februari 2011 14:41 Aan: General discussion for Windows Installer XML toolset. Onderwerp: Re: [WiX-users] Getting SQL Server instance name? Check a verbose log. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: kim [mailto:contactme...@gmail.com] Sent: 04 February 2011 19:06 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Getting SQL Server instance name? Using WIX i would like to know what instance of SQL Server is installed on target machine. If installed, get the name and set it as one of the property value to be displayed in my custom dialog. I am using the following code to find if SQL Server is installed and using SQLSERVER property to set the my control's value, but its coming up as empty: Property Id=SQLSERVER RegistrySearch Id=SQLServer Root=HKLM Key=SOFTWARE\Microsoft\Microsoft SQL Server Type=raw Name=InstalledInstances//Property Condition Message=Error: This application requires Microsoft SQL Server 2005/2008 to be installed. Please install Microsoft SQL Server 2005/2008 and run this installer again.SQLSERVER/Condition Custom Dialog: Control Type=Text Id=lblInstanceName Width=100 Height=14 X=22 Y=124 Text=Instance Name : TabSkip=yes / Control Type=Edit Id=txtInstanceName Width=150 Height=15 X=22 Y=139 Property=SQLSERVER Text=[SQLSERVER] / Can someone please guide me what am I doing wrong here? Thanks! -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Getting-SQ L-Server-instance-name-tp5993646p5993646.html Sent from the wix-users mailing list archive at Nabble.com. -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Getting SQL Server instance name?
HKLM\\SOFTWARE\Microsoft\Microsoft SQL Server\InstalledInstances offcourse :) Check out: http://madbutcher.dyndns.org/snippets/SQLMsiCA for a nice example on how to let the user select a SQL instance installed on this computer or, if you wish, any computer in the network. -Oorspronkelijk bericht- Van: Albert van Peppen [mailto:alb...@insad.nl] Verzonden: maandag 7 februari 2011 15:11 Aan: General discussion for Windows Installer XML toolset. Onderwerp: Re: [WiX-users] Getting SQL Server instance name? HKLM SOFTWARE\Microsoft\Microsoft SQL Server returns a MULTI_SZ so you'll need to parse it to a string first... But how should your code function when there are more instances installed -Oorspronkelijk bericht- Van: Pally Sandher [mailto:pally.sand...@iesve.com] Verzonden: maandag 7 februari 2011 14:41 Aan: General discussion for Windows Installer XML toolset. Onderwerp: Re: [WiX-users] Getting SQL Server instance name? Check a verbose log. Palbinder Sandher Software Deployment IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: kim [mailto:contactme...@gmail.com] Sent: 04 February 2011 19:06 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Getting SQL Server instance name? Using WIX i would like to know what instance of SQL Server is installed on target machine. If installed, get the name and set it as one of the property value to be displayed in my custom dialog. I am using the following code to find if SQL Server is installed and using SQLSERVER property to set the my control's value, but its coming up as empty: Property Id=SQLSERVER RegistrySearch Id=SQLServer Root=HKLM Key=SOFTWARE\Microsoft\Microsoft SQL Server Type=raw Name=InstalledInstances//Property Condition Message=Error: This application requires Microsoft SQL Server 2005/2008 to be installed. Please install Microsoft SQL Server 2005/2008 and run this installer again.SQLSERVER/Condition Custom Dialog: Control Type=Text Id=lblInstanceName Width=100 Height=14 X=22 Y=124 Text=Instance Name : TabSkip=yes / Control Type=Edit Id=txtInstanceName Width=150 Height=15 X=22 Y=139 Property=SQLSERVER Text=[SQLSERVER] / Can someone please guide me what am I doing wrong here? Thanks! -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Getting-SQ L-Server-instance-name-tp5993646p5993646.html Sent from the wix-users mailing list archive at Nabble.com. -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] -reusecab doesn't work on dynamic views
How does a dynamic view save you time? A well crafted config spec should load only what is needed to do the build. Whether you load it all up front or whether you load it when WiX needs it should be about the same cost, no? If WiX is going to go off validating things repeatedly then I'd think the cost should be less. PS- While we are constantly refining, we've already optimized and parallelized. :-) I won't go into the details but basically our product is really massive and we run 100,000+ builds a year. --- Christopher Painter, Author of Deployment Engineering Blog Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me - Original Message From: maksim.vazhe...@emc.com maksim.vazhe...@emc.com To: wix-users@lists.sourceforge.net Sent: Mon, February 7, 2011 8:00:25 AM Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views It was just a little block of build log, maybe it was confusing. Build is ok. Snapshot views are certainly good for it, but I also want to make it faster on dynamic views. Is it possible to introduce something like '-forcesreusecab' command line option for light.exe to skip files' validation (so if there is no .cab in the directory it will be created, if .cab already exists, it won't be checked)? Thanks, Maksim PS- 6 minutes - it is only installer build (when all binaries were already built). Maybe you should try to optimize\parallelize your build... :) -Original Message- From: Christopher Painter [mailto:chr...@deploymentengineering.com] Sent: Monday, February 07, 2011 4:38 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views Really? It seems like your build is broken to me. I already provided a work around, use a snapshot view. Use a dynamic view to robocopy to a temp directory on NTFS. There was a discussion on StackOverflow that Light in v3.5 has been updated to look at md5 checksums and time date stamps. I can't think of any better reason to get your build off of a dynamic view because if light starts hashing your files over and over that's going to be really slow over the wire back to the clearcase server. PS- I wish my builds were 6 minutes. One branch of our product line takes as much as 18 hours to build all the way up. --- Christopher Painter, Author of Deployment Engineering Blog Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me - Original Message From: maksim.vazhe...@emc.com maksim.vazhe...@emc.com To: wix-users@lists.sourceforge.net Sent: Mon, February 7, 2011 1:03:37 AM Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views Chris, I have no problem with the build itself. But now it takes ~6 min for one package instead of ~2 (when the build runs for 3 platforms for 2 build types, it is a big delay..). Rob, I think the problem here is that light.exe validates the timestamps for all files each time, and on clearcase dynamic view it is updated continuously. I have one set of files for all cultures, so I want to reuse .cab during the build of the package for each culture (I do not need to reuse .cab between the builds). Could you provide any workaround for this problem? Thanks, Maksim. -Original Message- From: Christopher Painter [mailto:chr...@deploymentengineering.com] Sent: Saturday, February 05, 2011 2:38 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views Dynamic views are a clearcase concept. Basically it's a virtual file system that uses a config spec to represent a particular branch in source control. They can be very useful in certain circumstances ( as the build/install lead I'm in dozens of vobs and branches daily and I wouldn't want to have to always be loading snapshot views locally to touch a file here and there) but they aren't approriate in other situations such as opening an entire solution and/or build code. So my short answer would be, don't do that. As a side note, I've kind rolled my own ClearCase UCM with a program called ViewMaster. It's kind of like the child's toy where you click the button and get to see a different picture. Developers pick from a (filterable ) list of builds and select Open and their dynamic view is reconfigured for that baseline. Chris --- Christopher Painter, Author of Deployment Engineering Blog Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me - Original Message From: Rob Mensching r...@robmensching.com To: General discussion for Windows Installer XML toolset. wix-users@lists.sourceforge.net Sent: Fri, February 4, 2011 5:04:06 PM Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views What is a dynamic view? On Fri, Feb 4, 2011 at 6:22 AM, maksim.vazhe...@emc.com wrote: Hi all, Is there a way to make light.exe correctly
Re: [WiX-users] -reusecab doesn't work on dynamic views
Robocopy to a temp directory is not a very good solution for it... There can be problems, if many people will build package at one time on a build server, there can be not enough space in %temp% directory. Maksim. -Original Message- From: Christopher Painter [mailto:chr...@deploymentengineering.com] Sent: Monday, February 07, 2011 4:38 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views Really? It seems like your build is broken to me. I already provided a work around, use a snapshot view. Use a dynamic view to robocopy to a temp directory on NTFS. There was a discussion on StackOverflow that Light in v3.5 has been updated to look at md5 checksums and time date stamps. I can't think of any better reason to get your build off of a dynamic view because if light starts hashing your files over and over that's going to be really slow over the wire back to the clearcase server. PS- I wish my builds were 6 minutes. One branch of our product line takes as much as 18 hours to build all the way up. --- Christopher Painter, Author of Deployment Engineering Blog Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me - Original Message From: maksim.vazhe...@emc.com maksim.vazhe...@emc.com To: wix-users@lists.sourceforge.net Sent: Mon, February 7, 2011 1:03:37 AM Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views Chris, I have no problem with the build itself. But now it takes ~6 min for one package instead of ~2 (when the build runs for 3 platforms for 2 build types, it is a big delay..). Rob, I think the problem here is that light.exe validates the timestamps for all files each time, and on clearcase dynamic view it is updated continuously. I have one set of files for all cultures, so I want to reuse .cab during the build of the package for each culture (I do not need to reuse .cab between the builds). Could you provide any workaround for this problem? Thanks, Maksim. -Original Message- From: Christopher Painter [mailto:chr...@deploymentengineering.com] Sent: Saturday, February 05, 2011 2:38 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views Dynamic views are a clearcase concept. Basically it's a virtual file system that uses a config spec to represent a particular branch in source control. They can be very useful in certain circumstances ( as the build/install lead I'm in dozens of vobs and branches daily and I wouldn't want to have to always be loading snapshot views locally to touch a file here and there) but they aren't approriate in other situations such as opening an entire solution and/or build code. So my short answer would be, don't do that. As a side note, I've kind rolled my own ClearCase UCM with a program called ViewMaster. It's kind of like the child's toy where you click the button and get to see a different picture. Developers pick from a (filterable ) list of builds and select Open and their dynamic view is reconfigured for that baseline. Chris --- Christopher Painter, Author of Deployment Engineering Blog Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me - Original Message From: Rob Mensching r...@robmensching.com To: General discussion for Windows Installer XML toolset. wix-users@lists.sourceforge.net Sent: Fri, February 4, 2011 5:04:06 PM Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views What is a dynamic view? On Fri, Feb 4, 2011 at 6:22 AM, maksim.vazhe...@emc.com wrote: Hi all, Is there a way to make light.exe correctly work with '-reusecab' option on dynamic views? Cabinet file is generated for each culture even with '-cc /cach_path/ -reusecab'. Thanks, Maksim. Build log: Target Link: M:\vazhem_wix_boot_from_san\thirdparty\opensrc\wix\3.5\Light.exe -sw1076 -sw1118 -v -cc M:\vazhem_wix_boot_from_san\wintools\.package\EmcPowerPath\interim\install\EMCPowerPath.Net32.5.6.b157.dbg.WiX\msi\ \ -cultures:de-de -ext M:\vazhem_wix_boot_from_san\thirdparty\opensrc\wix\3.5\WixUtilExtension.dll -ext M:\vazhem_wix_boot_from_san\thirdparty\opensrc\wix\3.5\WixUIExtension.dll -ext M:\vazhem_wix_boot_from_san\ppmpio\src\pkg\windows\setup\msi\ext\bin\x86\Debug\WixPPDriversExtension.dll l -ext M:\vazhem_wix_boot_from_san\ppmpio\src\pkg\windows\setup\msi\ext\bin\x86\Debug\WixPPSupportFileExtension.dll l -loc culture\de-de.wxl -loc culture\en-us.wxl -loc culture\es-es.wxl -loc culture\fr-fr.wxl -loc culture\it-it.wxl -loc culture\ja-jp.wxl -loc culture\ko-kr.wxl -loc culture\pt-br.wxl -loc culture\zh-cn.wxl -out M:\vazhem_wix_boot_from_san\wintools\.package\EmcPowerPath\interim\install\EMCPowerPath.Net32.5.6.b157.dbg.WiX\msi\de-de\Setup.msi i -pdbout
[WiX-users] Change text file line-endings on install
Hello all, I have a number of text files with UNIXy line endings that I want to install onto a Windows machine. Is there a WIX mechanism I can use to change the line endings to Windowsy ones on install? Thanks, John. -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Change text file line-endings on install
Not built-in. Just feed the converted files to Wix when you build the installer. -Original Message- From: John Daintree [mailto:jo...@dyalog.com] Sent: 07 February 2011 14:45 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Change text file line-endings on install Hello all, I have a number of text files with UNIXy line endings that I want to install onto a Windows machine. Is there a WIX mechanism I can use to change the line endings to Windowsy ones on install? Thanks, John. - - The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users SDL PLC confidential, all rights reserved. If you are not the intended recipient of this mail SDL requests and requires that you delete it without acting upon or copying any of its contents, and we further request that you advise us. SDL PLC is a public limited company registered in England and Wales. Registered number: 02675207. Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, UK. -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Reg: Updating connection strings in web.config
Thanks Peter, I got it corrected. There was problem with single quotes also. I have corrected it too. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Reg-Updating-connection-strings-in-web-config-tp5966709p6000666.html Sent from the wix-users mailing list archive at Nabble.com. -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] -reusecab doesn't work on dynamic views
The main point is to reduce the time of nightly builds which run on dynamic views. So I don't argue that snapshots are good, but I also want to make dynamic views better:) Rob, will an option '-forcereusecab' (or something like that) be considered as an improvement for light.exe (so I will write a feature request) or rebuild of wix.dll with some hack is the only way?:) Thanks, Maksim. -Original Message- From: Christopher Painter [mailto:chr...@deploymentengineering.com] Sent: Monday, February 07, 2011 5:38 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views How does a dynamic view save you time? A well crafted config spec should load only what is needed to do the build. Whether you load it all up front or whether you load it when WiX needs it should be about the same cost, no?If WiX is going to go off validating things repeatedly then I'd think the cost should be less. PS- While we are constantly refining, we've already optimized and parallelized. :-) I won't go into the details but basically our product is really massive and we run 100,000+ builds a year. --- Christopher Painter, Author of Deployment Engineering Blog Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me - Original Message From: maksim.vazhe...@emc.com maksim.vazhe...@emc.com To: wix-users@lists.sourceforge.net Sent: Mon, February 7, 2011 8:00:25 AM Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views It was just a little block of build log, maybe it was confusing. Build is ok. Snapshot views are certainly good for it, but I also want to make it faster on dynamic views. Is it possible to introduce something like '-forcesreusecab' command line option for light.exe to skip files' validation (so if there is no .cab in the directory it will be created, if .cab already exists, it won't be checked)? Thanks, Maksim PS- 6 minutes - it is only installer build (when all binaries were already built). Maybe you should try to optimize\parallelize your build... :) -Original Message- From: Christopher Painter [mailto:chr...@deploymentengineering.com] Sent: Monday, February 07, 2011 4:38 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views Really? It seems like your build is broken to me. I already provided a work around, use a snapshot view. Use a dynamic view to robocopy to a temp directory on NTFS. There was a discussion on StackOverflow that Light in v3.5 has been updated to look at md5 checksums and time date stamps. I can't think of any better reason to get your build off of a dynamic view because if light starts hashing your files over and over that's going to be really slow over the wire back to the clearcase server. PS- I wish my builds were 6 minutes. One branch of our product line takes as much as 18 hours to build all the way up. --- Christopher Painter, Author of Deployment Engineering Blog Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me - Original Message From: maksim.vazhe...@emc.com maksim.vazhe...@emc.com To: wix-users@lists.sourceforge.net Sent: Mon, February 7, 2011 1:03:37 AM Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views Chris, I have no problem with the build itself. But now it takes ~6 min for one package instead of ~2 (when the build runs for 3 platforms for 2 build types, it is a big delay..). Rob, I think the problem here is that light.exe validates the timestamps for all files each time, and on clearcase dynamic view it is updated continuously. I have one set of files for all cultures, so I want to reuse .cab during the build of the package for each culture (I do not need to reuse .cab between the builds). Could you provide any workaround for this problem? Thanks, Maksim. -Original Message- From: Christopher Painter [mailto:chr...@deploymentengineering.com] Sent: Saturday, February 05, 2011 2:38 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] -reusecab doesn't work on dynamic views Dynamic views are a clearcase concept. Basically it's a virtual file system that uses a config spec to represent a particular branch in source control. They can be very useful in certain circumstances ( as the build/install lead I'm in dozens of vobs and branches daily and I wouldn't want to have to always be loading snapshot views locally to touch a file here and there) but they aren't approriate in other situations such as opening an entire solution and/or build code. So my short answer would be, don't do that. As a side note, I've kind rolled my own ClearCase UCM with a program called ViewMaster. It's kind of like the child's toy where you click the button and get to see a different picture. Developers pick from a (filterable ) list of builds and select Open
Re: [WiX-users] Getting SQL Server instance name?
Thanks for your reply! Pally, I did checked the verbose log, and SQLSERVER variable is having name of the instance installed on system. But I need to populate a property with this instancename, which I am not able to get. Albert, Yes I am checking the InstalledInstances in the registry as follows: Property Id=SQLSERVER RegistrySearch Id=SQLServer Root=HKLM Key=SOFTWARE\Microsoft\Microsoft SQL Server Type=raw Name=InstalledInstances//Property But as I mentioned I am not able to get the value in a variable to display in a dialog or do some action based on its value. What I want to do is: 1. Check if SQLServer is installed on target system. If not then install SQLExpress instance by the name of MyProduct. 2. If SQLServer is already installed, get the instance name. IF the instance name is same as MyProduct (created from previous version of my product), then update the database for my application there. 3. If SQLServer is installed, but instance name is different then, install new instance of SQLExpress by name of MyProduct. The reason of checking this is that I would like to create/update my product's database in a dedicated instance. Kindly advice if this is possible using WIX. Sincere thanks!! -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Getting-SQL-Server-instance-name-tp5993646p6000819.html Sent from the wix-users mailing list archive at Nabble.com. -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Using a Property Value inside File Name=???
Hi folks, WiX newbie here trying to get up to speed on a few things. Google has been a big help so far but am currently drawing a blank so am hoping some folks here can help. I have a custom dialog that prompts for a value called SystemShortName: http://opdatw.blu.livefilestore.com/y1p_QvSKN5WLZW_Brs_SaeoWQh_ikp4WAXJ2Q0OTx0dAENPoknHFGgoildy1D-2RmVnlUFdUNjzT2bmer2peQxAyfA1R6cjzT9y/wix_property_issue.png?psid=1 I use the following code to populate a property called WIXUI_SYSTEMSHORTNAME: Dialog Id=SystemShortNameDlg Width=370 Height=270 Title=!(loc.SystemShortNameDlg_Title) !—Lots of superfluous stuff before the important bit...-- Control Id=SystemShortNameText Type=Edit X=20 Y=72 Width=145 Height=18 Property=WIXUI_SYSTEMSHORTNAME / /Dialog Back in my main project file I have declared my property: Property Id=WIXUI_SYSTEMSHORTNAME Value=SHORTNAME / Now, what I want to do is include the ShortName that the user enters in the name of a file that I deploy. Here is the (working) code that currently deploys that file: FileId=SsisProjectFile Name=SSIS.dtproj DiskId=1 Source=..\SSIS\SSIS.dtproj / Now my question. How do I change the File element so that the name of the deployed file contains the value inside WIXUI_SYSTEMSHORTNAME (i.e. WIXUI_SYSTEMSHORTNAME.SSIS.dtproj)? In other words, how do I reference the value inside my property? Thanks in advance for any help that anyone can offer. Regards Jamie Thomson -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Using a Property Value inside File Name=???
I think you just include Properties in square brackets to use them? So: File ... Name='[WIXUI_SYSTEMSHORTNAME].SSIS.dtproj' ... / But that seems too easy so I'm probably wrong! -Original Message- From: Jamie Thomson [mailto:ja...@jamie-thomson.net] Sent: 07 February 2011 16:29 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Using a Property Value inside File Name=??? Hi folks, WiX newbie here trying to get up to speed on a few things. Google has been a big help so far but am currently drawing a blank so am hoping some folks here can help. I have a custom dialog that prompts for a value called SystemShortName: http://opdatw.blu.livefilestore.com/y1p_QvSKN5WLZW_Brs_SaeoWQh_ikp4WAXJ2Q0OTx0dAENPoknHFGgoildy1D-2RmVnlUFdUNjzT2bmer2peQxAyfA1R6cjzT9y/wix_property_issue.png?psid=1 I use the following code to populate a property called WIXUI_SYSTEMSHORTNAME: Dialog Id=SystemShortNameDlg Width=370 Height=270 Title=!(loc.SystemShortNameDlg_Title) !—Lots of superfluous stuff before the important bit...-- Control Id=SystemShortNameText Type=Edit X=20 Y=72 Width=145 Height=18 Property=WIXUI_SYSTEMSHORTNAME / /Dialog Back in my main project file I have declared my property: Property Id=WIXUI_SYSTEMSHORTNAME Value=SHORTNAME / Now, what I want to do is include the ShortName that the user enters in the name of a file that I deploy. Here is the (working) code that currently deploys that file: FileId=SsisProjectFile Name=SSIS.dtproj DiskId=1 Source=..\SSIS\SSIS.dtproj / Now my question. How do I change the File element so that the name of the deployed file contains the value inside WIXUI_SYSTEMSHORTNAME (i.e. WIXUI_SYSTEMSHORTNAME.SSIS.dtproj)? In other words, how do I reference the value inside my property? Thanks in advance for any help that anyone can offer. Regards Jamie Thomson -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] CustomAction fails with error code 1603??
I am in need to check if SQLExpress is installed on target machine before installing my product. If not installed, my product's msi will install SQLEXpress first. I created a C# custom action to install SQLExpress using command line. When executing this command directly on cmd prompt SQLExpress gets installed successfully. However when calling the custom action to install SQLexpress my msi is failing with error code 1603. Following are the details from the Verbose log: --- Action 16:23:11: InstallSQL. SFXCA: Extracting custom action to temporary directory: C:\Windows\Installer\MSIA231.tmp-\ SFXCA: Binding to CLR version v2.0.50727 Calling custom action SQLCustomAction!SQLCustomAction.CustomActions.InstallSQLServer MSI (s) (A8:40) [16:27:20:768]: Running as a service. MSI (s) (A8:40) [16:27:23:878]: Running as a service. MSI (s) (A8:28) [16:29:25:274]: Running as a service. MSI (s) (A8:28) [16:29:28:337]: Running as a service. MSI (s) (A8:28) [16:31:29:709]: Running as a service. MSI (s) (A8:28) [16:31:32:819]: Running as a service. CustomAction InstallSQL returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox) Action ended 16:32:32: InstallFinalize. Return value 3. -- Also at the very end of log file I found: MSI (s) (A8:64) [16:32:33:209]: MainEngineThread is returning 1603MSI (s) (A8:C4) [16:32:33:224]: RESTART MANAGER: Session closed. Action ended 16:32:33: ExecuteAction. Return value 3. Can someone please advice me what could be teh problem here. I tried to look for error code 1603 but not getting proper solutions. Windows Event log also displays the same error code without much meaningful information. Kindly advice. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/CustomAction-fails-with-error-code-1603-tp6000977p6000977.html Sent from the wix-users mailing list archive at Nabble.com. -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] CustomAction fails with error code 1603??
You should build / use a bootstrapper for this. Installing other MSI files from within a CA (especially managed ones) are a scenario for deasaster (As far as I have seen at least) and are highly discouraged! Check out if you can use Burn; I have good hopes for it, although I haven't found the time to have a look at it :) -Original Message- From: kim [mailto:contactme...@gmail.com] Sent: maandag 7 februari 2011 18:06 To: wix-users@lists.sourceforge.net Subject: [WiX-users] CustomAction fails with error code 1603?? I am in need to check if SQLExpress is installed on target machine before installing my product. If not installed, my product's msi will install SQLEXpress first. I created a C# custom action to install SQLExpress using command line. When executing this command directly on cmd prompt SQLExpress gets installed successfully. However when calling the custom action to install SQLexpress my msi is failing with error code 1603. Following are the details from the Verbose log: --- Action 16:23:11: InstallSQL. SFXCA: Extracting custom action to temporary directory: C:\Windows\Installer\MSIA231.tmp-\ SFXCA: Binding to CLR version v2.0.50727 Calling custom action SQLCustomAction!SQLCustomAction.CustomActions.InstallSQLServer MSI (s) (A8:40) [16:27:20:768]: Running as a service. MSI (s) (A8:40) [16:27:23:878]: Running as a service. MSI (s) (A8:28) [16:29:25:274]: Running as a service. MSI (s) (A8:28) [16:29:28:337]: Running as a service. MSI (s) (A8:28) [16:31:29:709]: Running as a service. MSI (s) (A8:28) [16:31:32:819]: Running as a service. CustomAction InstallSQL returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox) Action ended 16:32:32: InstallFinalize. Return value 3. -- Also at the very end of log file I found: MSI (s) (A8:64) [16:32:33:209]: MainEngineThread is returning 1603MSI (s) (A8:C4) [16:32:33:224]: RESTART MANAGER: Session closed. Action ended 16:32:33: ExecuteAction. Return value 3. Can someone please advice me what could be teh problem here. I tried to look for error code 1603 but not getting proper solutions. Windows Event log also displays the same error code without much meaningful information. Kindly advice. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/CustomAction-f ails-with-error-code-1603-tp6000977p6000977.html Sent from the wix-users mailing list archive at Nabble.com. -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Getting SQL Server instance name?
Hi Kim, I think you still need a CA for enumerating the array returned from the MULTI_SZ; You cannot assume that your instance is the only one installed (or the first in the list). If you don't want to use a CA then you should register the instance with your application during install in the registry. This way you can check to see if your application is already installed and what instance of SQL it uses. I don't do database updates during the installation of updates since it gives me too much of a hussle when the update fails, or worse, when the database update fails. So I install the new version of my app with the db update scripts in a directory from which a DBTool is run, which comes with the server part of our app. With this DBTool I can also rollback previous versions of the database and the applications/features for a specific database version. -Original Message- From: kim [mailto:contactme...@gmail.com] Sent: maandag 7 februari 2011 17:21 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Getting SQL Server instance name? Thanks for your reply! Pally, I did checked the verbose log, and SQLSERVER variable is having name of the instance installed on system. But I need to populate a property with this instancename, which I am not able to get. Albert, Yes I am checking the InstalledInstances in the registry as follows: Property Id=SQLSERVER RegistrySearch Id=SQLServer Root=HKLM Key=SOFTWARE\Microsoft\Microsoft SQL Server Type=raw Name=InstalledInstances//Property But as I mentioned I am not able to get the value in a variable to display in a dialog or do some action based on its value. What I want to do is: 1. Check if SQLServer is installed on target system. If not then install SQLExpress instance by the name of MyProduct. 2. If SQLServer is already installed, get the instance name. IF the instance name is same as MyProduct (created from previous version of my product), then update the database for my application there. 3. If SQLServer is installed, but instance name is different then, install new instance of SQLExpress by name of MyProduct. The reason of checking this is that I would like to create/update my product's database in a dedicated instance. Kindly advice if this is possible using WIX. Sincere thanks!! -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Getting-SQL-Se rver-instance-name-tp5993646p6000819.html Sent from the wix-users mailing list archive at Nabble.com. -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] bypass fileinuse
You could look at Restart Manager and have your exe integrate with that, then the install will shut your app down and restart it with the new version. http://msdn.microsoft.com/en-us/library/aa373524(v=vs.85).aspx Phil Wilson -Original Message- From: Mark Turek [mailto:turekm...@hotmail.com] Sent: Friday, February 04, 2011 2:45 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] bypass fileinuse Thanks Andreas! Yes, this would be a solution. One of my components is also a plug-in. I heard though that there is a way to setup some kind of a bit flag and the installation engine would do just what I need but I went through all possible docs I found absolutely nothing. If any this will be probably at the msi level anyway since WIX schema does not have anything closely similar. Regards and thanks for your reply! -Original Message- From: Andreas Mertens Sent: Friday, February 04, 2011 3:47 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] bypass fileinuse I've done something similar for an IE plug-in that gets updates on the fly. But it does require a bit of an architecture change. I use a directory with the original images (which is where my assemblies get installed, could be .exes also). I have a core app that loads/launches what I need by copying the original to a temp directory and execute from there. Then when the update runs, the original image can get updated. The next time the core app needs to load/launch your component, it can check to see if the original image is more up to date - if it is it makes a new copy and runs that. Of course you still need a core launcher app to deal with, but overall I find this works reasonably well. Andreas Mertens NVision Ideas Inc. - Original Message - From: Mark Turek turekm...@hotmail.com Date: Friday, February 4, 2011 1:28 pm Subject: [WiX-users] bypass fileinuse I have a requirement where installation needs to proceed even if the exe (actually any installable component) is running and loaded in the memory. The installation should be silent and whenever currently running executable is closed the next startup should proceed with the newly installed one. The questions here are a.. Is this possible? b.. how to bypass default interruptions coming from the msi engine like fileInUse etc... and allow the upgrade/install to proceed while running (reboot action is not a solution) --- --- The modern datacenter depends on network connectivity to access resourcesand provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users *** Confidentiality Notice: This e-mail, including any associated or attached files, is intended solely for the individual or entity to which it is addressed. This e-mail is confidential and may well also be legally privileged. If you have received it in error, you are on notice of its status. Please notify the sender immediately by reply e-mail and then delete this message from your system. Please do not copy it or use it for any purposes, or disclose its contents to any other person. This email comes from a division of the Invensys Group, owned by Invensys plc, which is a company registered in England and Wales with its registered office at 3rd Floor, 40 Grosvenor Place, London, SW1X 7AW (Registered number 166023). For a list of European legal entities within the Invensys Group, please go to
Re: [WiX-users] CustomAction fails with error code 1603??
Thanks so much for the suggestions guys :-) I will definitly look at the dotNetInstaller bootstapper. Please correct me if I have misunderstood: I can still call this bootstrapper from my msi, which will install all the prerequisites and once all is successful, my msi can resume with installation of the application? The reason for installing SQLExpress using .msi is that, I need to create a setup that would take care of all the components needed for my application without without much manual intervention. many thanks! -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/CustomAction-fails-with-error-code-1603-tp6000977p6001174.html Sent from the wix-users mailing list archive at Nabble.com. -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] bypass fileinuse
I believe that would still require restarting the app during the installation process. Mark was asking for a way to install without shutting down the current instance, and the next time it loads have it start with the new instance. Andreas - Original Message - From: Wilson, Phil phil.wil...@invensys.com Date: Monday, February 7, 2011 9:59 am Subject: Re: [WiX-users] bypass fileinuse You could look at Restart Manager and have your exe integrate with that, then the install will shut your app down and restart it with the new version. http://msdn.microsoft.com/en-us/library/aa373524(v=vs.85).aspx Phil Wilson -Original Message- From: Mark Turek [mailto:turekm...@hotmail.com] Sent: Friday, February 04, 2011 2:45 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] bypass fileinuse Thanks Andreas! Yes, this would be a solution. One of my components is also a plug- in. I heard though that there is a way to setup some kind of a bit flag and the installation engine would do just what I need but I went through all possible docs I found absolutely nothing. If any this will be probably at the msi level anyway since WIX schema does not have anything closely similar. Regards and thanks for your reply! -Original Message- From: Andreas Mertens Sent: Friday, February 04, 2011 3:47 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] bypass fileinuse I've done something similar for an IE plug-in that gets updates on the fly. But it does require a bit of an architecture change. I use a directory with the original images (which is where my assemblies get installed, could be .exes also). I have a core app that loads/launches what I need by copying the original to a temp directory and execute from there. Then when the update runs, the original image can get updated. The next time the core app needs to load/launch your component, it can check to see if the original image is more up to date - if it is it makes a new copy and runs that. Of course you still need a core launcher app to deal with, but overall I find this works reasonably well. Andreas Mertens NVision Ideas Inc. - Original Message - From: Mark Turek turekm...@hotmail.com Date: Friday, February 4, 2011 1:28 pm Subject: [WiX-users] bypass fileinuse I have a requirement where installation needs to proceed even if the exe (actually any installable component) is running and loaded in the memory. The installation should be silent and whenever currently running executable is closed the next startup should proceed with the newly installed one. The questions here are a.. Is this possible? b.. how to bypass default interruptions coming from the msi engine like fileInUse etc... and allow the upgrade/install to proceed while running (reboot action is not a solution) - -- --- The modern datacenter depends on network connectivity to access resourcesand provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users --- --- The modern datacenter depends on network connectivity to access resourcesand provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users --- --- The modern datacenter depends on network connectivity to access resourcesand provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users *** Confidentiality Notice: This e-mail, including any associated or attached files, is intended solely for the individual or entity to which it is addressed. This e-mail is confidential and may well also be legally privileged. If you have received it in error, you are on notice of its status. Please notify the sender immediately
Re: [WiX-users] Using a Property Value inside File Name=???
The FileName column in the File Table isn't of Formatted type so that's not likely to work - http://msdn.microsoft.com/library/aa368596.aspx No harm in trying though. If that doesn't work I think the only way to do it properly would be to externalise your UI from Windows Installer then modify the File table in your MSI after you get the value from the user but before you launch the MSI. There are hack jobs you could use to achieve a similar result without that level of effort but as I prefer not to encourage that type of development where possible, I'll leave it to Jamie to figure out or someone else to give pointers. Palbinder Sandher Software Deployment Engineer T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Thom Leigh [mailto:t...@mondago.com] Sent: 07 February 2011 17:02 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Using a Property Value inside File Name=??? I think you just include Properties in square brackets to use them? So: File ... Name='[WIXUI_SYSTEMSHORTNAME].SSIS.dtproj' ... / But that seems too easy so I'm probably wrong! -Original Message- From: Jamie Thomson [mailto:ja...@jamie-thomson.net] Sent: 07 February 2011 16:29 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Using a Property Value inside File Name=??? Hi folks, WiX newbie here trying to get up to speed on a few things. Google has been a big help so far but am currently drawing a blank so am hoping some folks here can help. I have a custom dialog that prompts for a value called SystemShortName: http://opdatw.blu.livefilestore.com/y1p_QvSKN5WLZW_Brs_SaeoWQh_ikp4WAXJ2 Q0OTx0dAENPoknHFGgoildy1D-2RmVnlUFdUNjzT2bmer2peQxAyfA1R6cjzT9y/wix_prop erty_issue.png?psid=1 I use the following code to populate a property called WIXUI_SYSTEMSHORTNAME: Dialog Id=SystemShortNameDlg Width=370 Height=270 Title=!(loc.SystemShortNameDlg_Title) !-Lots of superfluous stuff before the important bit...-- Control Id=SystemShortNameText Type=Edit X=20 Y=72 Width=145 Height=18 Property=WIXUI_SYSTEMSHORTNAME / /Dialog Back in my main project file I have declared my property: Property Id=WIXUI_SYSTEMSHORTNAME Value=SHORTNAME / Now, what I want to do is include the ShortName that the user enters in the name of a file that I deploy. Here is the (working) code that currently deploys that file: FileId=SsisProjectFile Name=SSIS.dtproj DiskId=1 Source=..\SSIS\SSIS.dtproj / Now my question. How do I change the File element so that the name of the deployed file contains the value inside WIXUI_SYSTEMSHORTNAME (i.e. WIXUI_SYSTEMSHORTNAME.SSIS.dtproj)? In other words, how do I reference the value inside my property? Thanks in advance for any help that anyone can offer. Regards Jamie Thomson -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] CustomAction fails with error code 1603??
No a bootstrapper runs the SQL install and then your install. Neil -Original Message- From: kim [mailto:contactme...@gmail.com] Sent: 07 February 2011 18:01 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] CustomAction fails with error code 1603?? Thanks so much for the suggestions guys :-) I will definitly look at the dotNetInstaller bootstapper. Please correct me if I have misunderstood: I can still call this bootstrapper from my msi, which will install all the prerequisites and once all is successful, my msi can resume with installation of the application? The reason for installing SQLExpress using .msi is that, I need to create a setup that would take care of all the components needed for my application without without much manual intervention. many thanks! -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/CustomActi on-fails-with-error-code-1603-tp6000977p6001174.html Sent from the wix-users mailing list archive at Nabble.com. -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Using a Property Value inside File Name=???
Hi Pally, Thanks for the reply, unfortunately you lost me somewhere around externalise your ui. Could someone elaborate on that for me please? Perhaps provide some links? Thanks Jamie -Original Message- From: Pally Sandher Sent: 07 February 2011 18:27 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Using a Property Value inside File Name=??? The FileName column in the File Table isn't of Formatted type so that's not likely to work - http://msdn.microsoft.com/library/aa368596.aspx No harm in trying though. If that doesn't work I think the only way to do it properly would be to externalise your UI from Windows Installer then modify the File table in your MSI after you get the value from the user but before you launch the MSI. There are hack jobs you could use to achieve a similar result without that level of effort but as I prefer not to encourage that type of development where possible, I'll leave it to Jamie to figure out or someone else to give pointers. Palbinder Sandher Software Deployment Engineer T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the Virtual Environment** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Thom Leigh [mailto:t...@mondago.com] Sent: 07 February 2011 17:02 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Using a Property Value inside File Name=??? I think you just include Properties in square brackets to use them? So: File ... Name='[WIXUI_SYSTEMSHORTNAME].SSIS.dtproj' ... / But that seems too easy so I'm probably wrong! -Original Message- From: Jamie Thomson [mailto:ja...@jamie-thomson.net] Sent: 07 February 2011 16:29 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Using a Property Value inside File Name=??? Hi folks, WiX newbie here trying to get up to speed on a few things. Google has been a big help so far but am currently drawing a blank so am hoping some folks here can help. I have a custom dialog that prompts for a value called SystemShortName: http://opdatw.blu.livefilestore.com/y1p_QvSKN5WLZW_Brs_SaeoWQh_ikp4WAXJ2 Q0OTx0dAENPoknHFGgoildy1D-2RmVnlUFdUNjzT2bmer2peQxAyfA1R6cjzT9y/wix_prop erty_issue.png?psid=1 I use the following code to populate a property called WIXUI_SYSTEMSHORTNAME: Dialog Id=SystemShortNameDlg Width=370 Height=270 Title=!(loc.SystemShortNameDlg_Title) !-Lots of superfluous stuff before the important bit...-- Control Id=SystemShortNameText Type=Edit X=20 Y=72 Width=145 Height=18 Property=WIXUI_SYSTEMSHORTNAME / /Dialog Back in my main project file I have declared my property: Property Id=WIXUI_SYSTEMSHORTNAME Value=SHORTNAME / Now, what I want to do is include the ShortName that the user enters in the name of a file that I deploy. Here is the (working) code that currently deploys that file: FileId=SsisProjectFile Name=SSIS.dtproj DiskId=1 Source=..\SSIS\SSIS.dtproj / Now my question. How do I change the File element so that the name of the deployed file contains the value inside WIXUI_SYSTEMSHORTNAME (i.e. WIXUI_SYSTEMSHORTNAME.SSIS.dtproj)? In other words, how do I reference the value inside my property? Thanks in advance for any help that anyone can offer. Regards Jamie Thomson -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's
[WiX-users] Component GUIDs on 32/64-bit WXS File
We've distributed our application for some time as a 32-bit app, and then later we added a 64-bit installer to get the 64-bit USB drivers installed, but still installed our native application as 32-bit (using WOW64). Now I need to make the 64-bit installer use the 64-bit EXE (while the 32-bit installer still uses the 32-bit EXE) and I'd like to do it from a single source (wxs). I'm already using the -arch option, and have changed the root directory from ProgramFilesFolder to ProgramFiles64Folder for the 64-bit build. The requirement that I'm a little puzzled by is the requirement for unique Component GUIDs on the 32- and 64-bit versions of the components, which I presume is because I'm moving the install directory base from ProgramFilesFolder to ProgramFiles64Folder. I understand the value of having them being unique, although our application has a strict condition where only one of the 32- and 64-bit installers can be installed. But how should this be done most cleanly? I can't use Id=* at this point since I've already had our product out for some time with the existing GUIDs and I assume I don't want to change those. I have 12 components switching from 32- to 64-bit in the 64-bit package, so do I just need to conditionally set the IDs for each (presumably using ?if $(sys.BUILDARCH) = x86 ? to set local variables for the GUIDs) or is there a better way? Or is this not really a requirement in my case? I know this subject has been discussed in the past, but couldn't find an answer to this specific question. Thanks for any guidance you guys can provide. Quinton Tormanen Software Engineer Delta Computer Systems, Inc. http://www.deltamotion.com -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] LGHT0170
Message: 2 Date: Fri, 4 Feb 2011 10:21:12 -0800 (PST) From: Dave Andersen d.ander...@gmail.com Subject: Re: [WiX-users] LGHT0170 To: wix-users@lists.sourceforge.net Message-ID: 1296843672549-5993493.p...@n2.nabble.com Content-Type: text/plain; charset=us-ascii 18C:\delivery\Dev\wix35_public\src\ext\UIExtension\wixlib\WixUI_Advanced.wxs(125,0): error LGHT0170: The InstallUISequence table contains an action 'WelcomeDlg' that is declared in two different locations. Please remove one of the actions or set the Overridable='yes' attribute on one of their elements. I was getting an error like that when I updated from WiX 3.0 to WiX 3.5, and it turned out to be a custom action sequencing problem. It was fixed when I changed this: InstallUISequence Custom Action=SetUpgradeText Before=WelcomeDlgOLDPRODUCTVERSION/Custom /InstallUISequence to this: InstallUISequence Custom Action=SetUpgradeText Before=CostFinalizeOLDPRODUCTVERSION/Custom /InstallUISequence It was hard to find though. Here is my custom action if that is relevant. CustomAction Id=SetUpgradeText Property=UPGRADE_TEXT Value=Upgrading from [ProductName] build [OLDPRODUCTVERSION] to [ProductVersion]/ -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/LGHT0170-tp5990451p5993493.html Sent from the wix-users mailing list archive at Nabble.com. This was the solution to the problem. I agree, this was very hard to find an the error message gave no indication as to the solution and pointed to the incorrect location. -- The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] WriteIIS7ConfigChanges - Stuck with 1603 error codes???
Receving following error when trying to create a website from msi. Target machine is Windows 7-32 bit machine. To my surprise, this same code has work numerous times before on different hadrware without any issues. Snippet from log file: Action 12:34:42: StartIIS7ConfigTransaction. Starting IIS Config Transaction Action 12:34:42: RollbackIIS7ConfigTransaction. Rolling back IIS Config Transaction Action 12:34:42: CommitIIS7ConfigTransaction. Committing IIS Config Transaction Action 12:34:42: ConfigureIIs7Exec. Action 12:34:43: WriteIIS7ConfigChanges. Installing Config Keys and Values CustomAction WriteIIS7ConfigChanges returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox) Action ended 12:34:43: InstallFinalize. Return value 3. Following is code I am using to create website: Component Id=IISConfiguration Guid={E2CF0EE0-DBBE-4905-B860-07CCCAB4E3B6} KeyPath=yes iis:WebVirtualDir Id=WebSiteVirtualDir Alias=[WEBSITENAME] Directory=INSTALLDIR WebSite= DefaultWebSite iis:WebApplication Id=WebSiteApp Name=[WEBSITENAME]App Isolation=medium / iis:WebDirProperties Id=WebDir AnonymousAccess=yes WindowsAuthentication=yes / /iis:WebVirtualDir /Component Any suggestions why I am receving this error all of sudden? I am using WIX 3.5. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/WriteIIS7ConfigChanges-Stuck-with-1603-error-codes-tp6001526p6001526.html Sent from the wix-users mailing list archive at Nabble.com. -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Assistance using XmlConfig (assuming that is the correct hammer for this issue)
Hello, I am looking for some help using XmlConfig, assuming that XmlConfig is the correct hammer for this issue. I have an app.config file that I would like to modify when it is installed, a sample config file - applicationSettings Microsoft.Lexicon.Framework.BackgroundLocalFileSettings setting name=DatabaseServer serializeAs=String value(local)/value /setting setting name=DefaultDatabase serializeAs=String valueTexusCatalog/value /setting /Microsoft.Lexicon.Framework.BackgroundLocalFileSettings /applicationSettings I would like to replace the strings value(local)/value and valueTexusCatalog/TexusCatalog with the contents of a property. In tried the following line of WIX to accomplish the task - util:XmlConfig Id=Config.Update Action=create Sequence=1125 ElementPath=/configuration/applicationSettings/Microsoft.Lexicon.Framework.BackgroundLocalFileSettings/setting[\[]@name='DatabaseServer'[\]] VerifyPath=/configuration/applicationSettings/Microsoft.Lexicon.Framework.BackgroundLocalFileSettings/setting[\[]@name='DatabaseServer'[\]] File=[MyModuleDirectory]$(var.StorageAgentWindowsService.TargetFileName).config Node=value Name =value Value=[CATALOGSERVER] On=install/ This resulted in a fragment that looked like this - setting name=DatabaseServer serializeAs=String value=myserservername value(local)/value /setting I am new to WIX so any help would be appreciated. Thanks, Gregg -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users