Windows installer deletes versioned file during product upgrade, instead of downgrading it

We also encountered this problem where lower-versioned DLLs were not getting reinstalled on a major upgrade. I thought it was strange that the installer would decide which files to install based on the versioning of existing files, then completely uninstall everything, but still only install what what files had been determined to install before uninstalling … Read more

Wix: How to set permissions for folder and all sub folders

First of all, I would recommend you using PermissionEx instead. It is a standard WiX extension and it has one really huge advantage over Permission – it doesn’t overwrite, but modifies ACLs. And by default, it applies permissions to the folder and all its descendant files and folders, so you don’t have to specify anything … Read more

What are the specific differences between .msi and setup.exe file?

An MSI is a Windows Installer database. Windows Installer (a service installed with Windows) uses this to install software on your system (i.e. copy files, set registry values, etc…). A setup.exe may either be a bootstrapper or a non-msi installer. A non-msi installer will extract the installation resources from itself and manage their installation directly. … Read more

WiX silent install unable to launch built in .EXE: WiX v3

Faulty Configuration: This line would never run – regardless of silent or interactive mode: <Custom Action=”SilentExecExample” After=”TheActionYouWantItAfter”/> The After attribute must specify a valid StandardAction or CustomAction name. Silent Mode Failure: The line below will fail in silent mode because you run it after InstallFinalize. In this case it will not run with elevation (unless … Read more

File of a new component isn’t installed because there was an old component with the same file

Similar Answer: How to Explicitly Remove dll During Majorupgrade Using Wix Toolset Major Upgrade Downgrade: In order to overwrite binaries with higher version numbers on major upgrades there are a couple of preferred options: The preferred approach would be to use a companion file (third party files). Or if you can: compile a new binary … Read more