[WiX-users] How implement installer to update single file ? Upgrade? Patch?
Can this be done as an upgrade, replacing a single DLL file without removing the previous install? Or is what I am trying to do better implemented as a patch? I do not have source code for original installer - only the MSI. Background --- This is a C++ application using 2008 compilers. I believe the application's MSI installer was built using Wise Installer. It was built by a contractor. My company has lost or never had the installer source code. Thanks in advance for any tips or direction, -Ed This email and any files transmitted with it from The Charles Machine Works, Inc. are confidential and intended solely for the use of the individual or entity to which they are addressed. If you have received this email in error please notify the sender. Our company accepts no liability for the contents of this email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company. Finally, the recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. -- Start Your Social Network Today - Download eXo Platform Build your Enterprise Intranet with eXo Platform Software Java Based Open Source Intranet - Social, Extensible, Cloud Ready Get Started Now And Turn Your Intranet Into A Collaboration Platform http://p.sf.net/sfu/ExoPlatform ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How implement installer to update single file ? Upgrade? Patch?
-Original Message- From: Phill Hogland [mailto:phogl...@rimage.com] Sent: Friday, April 25, 2014 11:30 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How implement installer to update single file ? Upgrade? Patch? If you have the old MSI, there are a couple of options (but I am no expert). If the old mis supports doing a /a layout then you can extract the files of the old msi to two folder tress, original and changed, change the files in the 'changed' folder tree, and use torch to create a transform. Or you can use orca in the old msi to find out which component the files is associated. Then create a new msi with only all of the files (resources) of that component, using the same component GUID, and run that msi to update the file. But the component must be identical to the component in the original package with regard to the guid, target path, and all resources included in that component. I am just learning and experimenting with a similar situation, so others can provide more expert advice. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/How-implement-installer-to-update-single-file-Upgrade-Patch-tp7594344p7594346.html Sent from the wix-users mailing list archive at Nabble.com. -- Start Your Social Network Today - Download eXo Platform Build your Enterprise Intranet with eXo Platform Software Java Based Open Source Intranet - Social, Extensible, Cloud Ready Get Started Now And Turn Your Intranet Into A Collaboration Platform http://p.sf.net/sfu/ExoPlatform ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users This email and any files transmitted with it from The Charles Machine Works, Inc. are confidential and intended solely for the use of the individual or entity to which they are addressed. If you have received this email in error please notify the sender. Our company accepts no liability for the contents of this email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company. Finally, the recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. -- "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available. Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How implement installer to update single file ? Upgrade? Patch?
Thank you Phil. I am trying the "Using Patch Creation Properties" approach. I made two subfolders, 3.8.1 contained only the original DLL I wished to replace, and 3.8.2 the updated DLL. http://wixtoolset.org/documentation/manual/v3/patching/patch_building.html Should both UpgradeCode and Product ID match the original 3.81 version seen in Orca? When both match the original 3.8.1 MSI the patch launches the 3.8.1 repair/remove installer. msiexec.exe /p patch\patch.msp /l*vx patch.log When only UpgradeCode matches the Windows Installer displays a dialog with message: "The upgrade patch cannot be installed" because "program to be upgraded may be missing". ===Orca Properties Displayed With Original 3.8.1 MSI=== Table: Property Manufacturer The Charles Machine Works, Inc. ProductCode{C80FB86A-42A1-4FB8-B9B2-30DCFF138E3D} ProductNameTMS Plus ProductVersion 3.8.1 UpgradeCode{59BF7F9E-FF46-45D5-8050-F1477466A661} Table: File _ACE1F72023AD44F5829BCA1329E212FD C__ACE1F72023AD44F5829BCA1329E212FD REGTMS.DLL|Regtms.dll 40960 1.0.0.2 1033514 80 Table: Component C__ACE1F72023AD44F5829BCA1329E212FD{CFB9D5A8-65CC-E091-DC21-4F4653B149D6} TARGETDIR 0 _ACE1F72023AD44F5829BCA1329E212FD Table: FeatureComponents DefaultFeature C__ACE1F72023AD44F5829BCA1329E212FD Table: Feature DefaultFeature 2 1 TARGETDIR 0 Table: Directory TARGETDIR SourceDir Table: CreateFolder TARGETDIR C__A0F5E19C01BE425EB5FD3CE9A5BBB86D Table: CustomAction DIRCA_TARGETDIR307 TARGETDIR [ProgramFilesFolder]TMSPlus * * File: product.wxs * http://schemas.microsoft.com/wix/2006/wi";> * * File: Patch.wxs * http://schemas.microsoft.com/wix/2006/wi";> http://www.ditchwitch.com/"; Classification="Update" DisplayName="TMS Plus Patch Sample"/> Any direction is much appreciated, -Ed -Original Message- From: Phill Hogland [mailto:phogl...@rimage.com] Sent: Friday, April 25, 2014 11:30 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How implement installer to update single file ? Upgrade? Patch? If you have the old MSI, there are a couple of options (but I am no expert). If the old mis supports doing a /a layout then you can extract the files of the old msi to two folder tress, original and changed, change the files in the 'changed' folder tree, and use torch to create a transform. Or you can use orca in the old msi to find out which component the files is associated. Then create a new msi with only all of the files (resources) of that component, using the same component GUID, and run that msi to update the file. But the component must be identical to the component in the original package with regard to the guid, target path, and all resources included in that component. I am just learning and experimenting with a similar situation, so others can provide more expert advice. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/How-implement-installer-to-update-single-file-Upgrade-Patch-tp7594344p7594346.html Sent from the wix-users mailing list archive at Nabble.com. -- Start Your Social Network Today - Download eXo Platform Build your Enterprise Intranet with eXo Platform Software Java Based Open Source Intranet - Social, Extensible, Cloud Ready Get Started Now And Turn Your Intranet Into A Collaboration Platform http://p.sf.net/sfu/ExoPlatform ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users This email and any files transmitted with it from The Charles Machine Works, Inc. are confidential and intended solely for the use of the individual or entity to which they are addressed. If you have received this email in error please notify the sender. Our company accepts no liability for the contents of this email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company. Finally, the recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. ---
Re: [WiX-users] [SPAM] Re: How implement installer to update single file ? Upgrade? Patch?
Are there others experienced in patching/updating that can share an example or offer advice? I followed the " Using Patch Creation Properties" tutorial which installs an updated sample.txt file. This worked well. http://wixtoolset.org/documentation/manual/v3/patching/patch_building.html Next I copied the working tutorial and started to modify it to do same for updating a DLL instead of the sample.txt file. I have the original 3.8.1 version of the MSI which installs an executable and a DLL. It is only the DLL that I need to replace and not the executable. I suspect my problem may not be setting up matches of the original ids, guids, or references that Orca displays in the original 3.8.1 MSI. 1 - I created a new /3.8.1/product.msi containing the original DLL extracted from the original 3.8.1 version on the MSI. In the product.wxs file I set ProductId and UpgradeCode to match original MSI. 2 - I created a second /3.8.2/product.msi containing the updated DLL. The executable (*.exe) was not changed, only the DLL, so exe was not included. 3 - The patch.msp was created from the patch.wxs from the /3.8.1/product.msi and /3.8.2/product.msi files. My patch has no GUI. When I set my product.wxs ProductId and UpgradeCode to match the original 3.8.1 MSI it launching the patch results in launching of the original installer GUI in repair/remove mode. I tried to do a repair. I confirmed this did *not* update the DLL. I think this is expected when launching original installer. If the patch install would have worked, I expected to see UAC request elevation as it does with the tutorial that installs the pdated sample.txt file. msiexec.exe /p patch\patch.msp /l*vx patch.log Phil it sounds like you are picking this up pretty quickly - I am impressed. I have always struggled with MSI and find it complex. I usually use deployment tools included with Visual Studio, crippled InstallShield versions, Wise Installer, etc. I am trying to take better notes this time as I always have to relearn what I figured out years past. It would like to figure out WiX and start using it with all new projects I have coming up. It sounds like WiX has been around since 2007 and is not likely to disappear. I know I am missing something. Probably multiple things. Any suggestions or patch examples are welcome. -Ed -Original Message- From: Phill Hogland [mailto:phogl...@rimage.com] Sent: Monday, April 28, 2014 1:45 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] [SPAM] Re: How implement installer to update single file ? Upgrade? Patch? While I have not used that process, my understanding is that you are creating a 'small update' patch for the original version of the two MSI files (used in that process). (The updated version of the two MSI files is not distributed. Only the original MSI and the patch which targets only that original MSI.) So in the case where the original MSI is installed and you apply the patch it sounds like it worked. In the case were you tried to apply the patch using a different ProductCode it makes sense that the error message indicated that it could not find the ProductCode indicated on the installed system, as the original MSI did not use that code. I do not have much experience in this area as I am just working through some of these issues myself. So there may be others who can provide better guidance. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/How-implement-installer-to-update-single-file-Upgrade-Patch-tp7594344p7594388.html Sent from the wix-users mailing list archive at Nabble.com. -- "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available. Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users This email and any files transmitted with it from The Charles Machine Works, Inc. are confidential and intended solely for the use of the individual or entity to which they are addressed. If you have received this email in error please notify the sender. Our company accepts no liability for the contents of this email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company. Finally, the recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any
Re: [WiX-users] [SPAM] Re: How implement installer to update single file ? Upgrade? Patch?
Question: Can Orca be used to create a transform or patch? I want to update a single DLL. Perhaps this might be an simpler work-around than using Wix? I have tried both approaches "Using Patch Creation Properties" and "Using Purely WiX" mentioned on: http://wixtoolset.org/documentation/manual/v3/patching/ They work fine until I try to modify each example to replace the DLL in question. Even then they work up to the point where try to match the original UpgradeCode, ProductId and version codes. Then I get Windows Installer errors saying patch package could not be opened and verify it is a valid Windows installer patch. Thanks in advance for any tips or suggestions, -Ed -Original Message- From: Edward Sutton Sent: Monday, April 28, 2014 2:41 PM To: 'General discussion about the WiX toolset.' Subject: RE: [WiX-users] [SPAM] Re: How implement installer to update single file ? Upgrade? Patch? Are there others experienced in patching/updating that can share an example or offer advice? I followed the " Using Patch Creation Properties" tutorial which installs an updated sample.txt file. This worked well. http://wixtoolset.org/documentation/manual/v3/patching/patch_building.html Next I copied the working tutorial and started to modify it to do same for updating a DLL instead of the sample.txt file. I have the original 3.8.1 version of the MSI which installs an executable and a DLL. It is only the DLL that I need to replace and not the executable. I suspect my problem may not be setting up matches of the original ids, guids, or references that Orca displays in the original 3.8.1 MSI. 1 - I created a new /3.8.1/product.msi containing the original DLL extracted from the original 3.8.1 version on the MSI. In the product.wxs file I set ProductId and UpgradeCode to match original MSI. 2 - I created a second /3.8.2/product.msi containing the updated DLL. The executable (*.exe) was not changed, only the DLL, so exe was not included. 3 - The patch.msp was created from the patch.wxs from the /3.8.1/product.msi and /3.8.2/product.msi files. My patch has no GUI. When I set my product.wxs ProductId and UpgradeCode to match the original 3.8.1 MSI it launching the patch results in launching of the original installer GUI in repair/remove mode. I tried to do a repair. I confirmed this did *not* update the DLL. I think this is expected when launching original installer. If the patch install would have worked, I expected to see UAC request elevation as it does with the tutorial that installs the pdated sample.txt file. msiexec.exe /p patch\patch.msp /l*vx patch.log Phil it sounds like you are picking this up pretty quickly - I am impressed. I have always struggled with MSI and find it complex. I usually use deployment tools included with Visual Studio, crippled InstallShield versions, Wise Installer, etc. I am trying to take better notes this time as I always have to relearn what I figured out years past. It would like to figure out WiX and start using it with all new projects I have coming up. It sounds like WiX has been around since 2007 and is not likely to disappear. I know I am missing something. Probably multiple things. Any suggestions or patch examples are welcome. -Ed -Original Message- From: Phill Hogland [mailto:phogl...@rimage.com] Sent: Monday, April 28, 2014 1:45 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] [SPAM] Re: How implement installer to update single file ? Upgrade? Patch? While I have not used that process, my understanding is that you are creating a 'small update' patch for the original version of the two MSI files (used in that process). (The updated version of the two MSI files is not distributed. Only the original MSI and the patch which targets only that original MSI.) So in the case where the original MSI is installed and you apply the patch it sounds like it worked. In the case were you tried to apply the patch using a different ProductCode it makes sense that the error message indicated that it could not find the ProductCode indicated on the installed system, as the original MSI did not use that code. I do not have much experience in this area as I am just working through some of these issues myself. So there may be others who can provide better guidance. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/How-implement-installer-to-update-single-file-Upgrade-Patch-tp7594344p7594388.html Sent from the wix-users mailing list archive at Nabble.com. -- "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available. Simple to use. Nothing to
[WiX-users] How to not launch install if previous version not found?
I created an upgrade containing an updated DLL that replaces a previous version. How can I make the install require a previous version has been installed? Is that not the purpose of ? I cannot get it to work as expected. The upgrade is happy to launch without the previous version installed. Here is what I did: 1. Opened version 1.2.3 of the original MSI in WixEdit 2. Replaced a single DLL with an updated DLL 3. Updated version to 1.2.4 4. Updated Product Id 5. UpgradeCode did * not * changed 6. Added element after the last element Is OLDERVERSIONBEINGUPGRADED a pre-defined thing or just used as a comment? There is no matching Property. -Ed This email and any files transmitted with it from The Charles Machine Works, Inc. are confidential and intended solely for the use of the individual or entity to which they are addressed. If you have received this email in error please notify the sender. Our company accepts no liability for the contents of this email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company. Finally, the recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. -- "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available. Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to not launch install if previous version not found?
(Sorry for re-post, the example Minimum and Maximum did not match my description.) I created an upgrade containing an updated DLL that replaces a previous version. How can I make the install require a previous version to be installed? Is that not the purpose of ? I cannot get it to work as expected. The upgrade is happy to launch without the previous version installed. Here is what I did: 1. Opened version 1.2.3 of the original MSI in WixEdit 2. Replaced a single DLL with an updated DLL 3. Updated version to 1.2.4 4. Updated Product Id 5. UpgradeCode did * not * changed 6. Added element after the last element Is OLDERVERSIONBEINGUPGRADED a pre-defined thing or just used as a comment? I have no matching Property named "OLDERVERSIONBEINGUPGRADED". Thanks, -Ed From: Edward Sutton Sent: Friday, May 02, 2014 1:30 PM To: wix-users@lists.sourceforge.net Subject: How to not launch install if previous version not found? I created an upgrade containing an updated DLL that replaces a previous version. How can I make the install require a previous version has been installed? Is that not the purpose of ? I cannot get it to work as expected. The upgrade is happy to launch without the previous version installed. Here is what I did: 1. Opened version 1.2.3 of the original MSI in WixEdit 2. Replaced a single DLL with an updated DLL 3. Updated version to 1.2.4 4. Updated Product Id 5. UpgradeCode did * not * changed 6. Added element after the last element Is OLDERVERSIONBEINGUPGRADED a pre-defined thing or just used as a comment? There is no matching Property. -Ed This email and any files transmitted with it from The Charles Machine Works, Inc. are confidential and intended solely for the use of the individual or entity to which they are addressed. If you have received this email in error please notify the sender. Our company accepts no liability for the contents of this email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company. Finally, the recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. -- "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available. Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to not launch install if previous version not found?
Hi Nick, Thank you for your reply. I think that is a better fit. I have also thought IExpress and VBScript might be a simpler approach. I admit what I am doing is unusual. I have an old pre-Vista legacy app that used HKEY_LOCAL_MACHINE to store product key registration information. Under Vista and later this gets "virtualized" and stored under HKEY_CURRENT_USER. This causes each new user that logs on to call in with a broken license complaint. My initial thought was the easiest solution for this small set of customers was to install in new DLL that basically ignores the registry and returns happy. After struggling with the installer I think time would have been better spent to re-write the DLL to read/write from the correct ALLUSERSPROFILE ProgramData location. -Ed -Original Message- From: Nick Ramirez [mailto:nickra...@hotmail.com] Sent: Tuesday, May 06, 2014 8:59 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] How to not launch install if previous version not found? Upgrades are used to find and replace previously installed files. But if there's nothing to replace, there's nothing to say the install can't continue as a fresh install. If you need to not run the installer at all if a previous install isn't there then try using a launch condition (http://wixtoolset.org/documentation/manual/v3/xsd/wix/launchconditions.html) -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/How-to-not-launch-install-if-previous-version-not-found-tp7594474p7594535.html Sent from the wix-users mailing list archive at Nabble.com. -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users This email and any files transmitted with it from The Charles Machine Works, Inc. are confidential and intended solely for the use of the individual or entity to which they are addressed. If you have received this email in error please notify the sender. Our company accepts no liability for the contents of this email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company. Finally, the recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: • 3 signs your SCM is hindering your productivity • Requirements for releasing software faster • Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users