I'm trying to upgrade a product that was first installed to a different directory. Allow me to quickly explain...
The installer normally installs to the D:\MyProgram directory and everything works. Running an upgrade on that directory works as well.
However, the \MyProgram directory was hand copied to a new directory called D:\MyProgram2. Basically, it's another instance of the program. As far as our Program's functionality goes, this is fine.
My question is how can I use the installer (a basic MSI) to run a repair on (upgrade) the \MyProgram2 directory?
I've already taken the following steps:
- Insert DestinationFolder and InstallChangeFolder-type dialogs after MaintenanceWelcome (if the user chooses Repair). This automatically sets INSTALLDIR, and the logs verify that.
- Inserted a CA before CostInitialize to save INSTALLDIR to the property TEMPINSTALLDIR (because CostFinalize reinitializes the INSTALLDIR variable to its original location)
- Inserted a CA after CostFinalize to reset INSTALLDIR back to the user-selected directory.
All of that is successful, and the log verifies the change in INSTALLDIR. However, when the repair (minor upgrade) actually runs, I get the following errors:
MSI (s) (FC:04) [16:44:18:824]: Feature: ProgFeature; Installed: Local; Request: Reinstall; Action: Reinstall
MSI (s) (FC:04) [16:44:18:824]: Component: Cmp1; Installed: Local; Request: Null; Action: Null
MSI (s) (FC:04) [16:44:18:824]: Component: Cmp2; Installed: Local; Request: Null; Action: Null
MSI (s) (FC:04) [16:44:18:824]: Component: Cmp3; Installed: Local; Request: Null; Action: Null
MSI (s) (FC:04) [16:44:18:824]: Component: Cmp4; Installed: Local; Request: Null; Action: Null
MSI (s) (FC:04) [16:44:18:824]: Component: Cmp5; Installed: Local; Request: Null; Action: Null
etc.
Why is this? There is no SELMGR in the log, as has been suggested to others with a similar problem. Also, why does the Feature show Reinstall, but none of the components do?

Again, the repair (upgrade) works flawlessly when I upgrade the original \MyProgram directory, however it won't upgrade the hand-copied \MyProgram2. Any ideas on how to accomplish this?
More details about the installer: basic MSI, MSI File hashing enabled, REINSTALLMODE=vomus, REINSTALL=all, verbose logging enabled. I unfortunately can NOT post the entire log here, as our program's information is classified.
Sorry to rush this, but I need a solution by tonight, if possible. But, even if it's the day, week, or year after when you read this, please post solutions.
Thank you very, very much in advance!
