Syntax for guids in WIX?

Component GUIDs: On Component GUIDs and when they should change: Change my component GUID in wix? Auto-guids and default attribute values In addition to Bob Arnson’s advice: Recent versions of Wix allows GUIDs to be auto-generated for several things, most significantly component GUIDs. It also covers package-, product- and patch-codes. It also allows skipping some, … Read more

WiX installer msi not installing the Winform app created with Visual Studio 2017

WiX Resources: A couple of links first: WiX quick start resources. Hello WiX C# Custom Actions. “Hello WiX” (transparent aluminum please) I think what you need is the “Hello World” of WiX from CodeProject. This is quite old now, but still good at showing you the very basics of getting a working MSI compiled. UPDATE: … Read more

How do I avoid common design flaws in my WiX / MSI deployment solution?

WiX / MSI Deployment Anti-Patterns There are several deployment anti-patterns often seen in WiX / MSI files. Below is a rough-draft of some of the most common ones. Before going into the problems, on the other hand here is a quick reminder of the things that have made MSI an overall success! (despite its problems). … Read more

How to implement WiX installer upgrade?

Finally I found a solution – I’m posting it here for other people who might have the same problem (all 5 of you): Change the product ID to * Under product add The following: <Property Id=”PREVIOUSVERSIONSINSTALLED” Secure=”yes” /> <Upgrade Id=”YOUR_GUID”> <UpgradeVersion Minimum=”1.0.0.0″ Maximum=”99.0.0.0″ Property=”PREVIOUSVERSIONSINSTALLED” IncludeMinimum=”yes” IncludeMaximum=”no” /> </Upgrade> Under InstallExecuteSequence add: <RemoveExistingProducts Before=”InstallInitialize” /> From … Read more

What is the purpose of administrative installation initiated using msiexec /a?

Administrative Installation: Adding some practical examples. 1) Silent running extraction (no GUI): msiexec.exe /A MySetup.msi TARGETDIR=D:\Extract\ /QN /L*V D:\Extract.log 2) Interactive extraction (setup GUI for extract): msiexec.exe /A MySetup.msi Quick parameter explanation: – /A – run administrative installation sequence. – /QN – run completely silently (alternatively: /QB! for semi-silent). – /L*V “Extract.log” – create verbose … Read more

Extract MSI from EXE

For InstallShield MSI based projects I have found the following to work: setup.exe /s /x /b”C:\FolderInWhichMSIWillBeExtracted” /v”/qn” This command will lead to an extracted MSI in a directory you can freely specify and a silently failed uninstall of the product. The command line basically tells the setup.exe to attempt to uninstall the product (/x) and … Read more

Why is it a good idea to limit the use of custom actions in my WiX / MSI setups?

Core: Essentially custom actions are complex to get right because of complexity arising from: Sequencing-, Conditioning- (when it runs – in what installation mode: install, repair, modify, uninstall, etc…) and Impersonation-issues (security context it runs in). It results in overall poor debugability – very hard hard work to test in all permutations. Application Launch: Solution? … Read more

What installation product to use? InstallShield, WiX, Wise, Advanced Installer, etc [closed]

UPDATE, Aug.2018, a new and shorter option: How to create windows installer. Focused on summarizing MSI and its major benefits and to list the major tools available (with download links), as well as mentioning some new, trending deployment technologies. I have worked in software development as a release manager, build engineer, setup developer and as … Read more