My installer installs as service using Install Service. That works.
But I want to be able to release updated versions in the future, but not have a separate installer for a patch. I want users to be able to use the same installer for both new installs and update installs.
I have tried several things - simply pointing the Install Service command to the new file and rebuild - no luck. It does not touch the older file.
I tried using Control Service to stop the service on install, then use Install Files and/or Install service. No luck.
I tried adding a section after it does Apply Install, with just an Install Service command and another Apply Install - no luck.
In fact, if I stop the service and delete the service executable and re-run the installer (after rebuilding so the key changes) it doesn't even install the now missing file.
I used /l to create a log from an original install vs. an "update" install and I saw that in the "update" install, it has this line:
Code: Select all
Using cached product context: machine assigned for product <hex>
After that, it has some "Executing op:" lines, but not nearly as many as the log from the original install.
I don't know a lot about the inner workings of MSI, but it looks to me like it is thinking that the product is already installed and doesn't go through the install again, even though I have rebuild the installer which generates a new key - I assume that is a different key than what this is looking at.
If that is the cause, how do I get it to ignore the "cached product context" and reinstall the files?