I have a problem with InstallShield that grinds my gears. I'm not an expert, but I'm using IS for over three years now. Here is the szenario:
My program installs a config file under C:\ProgramData\[CompanyName]\[Product Name]\. When I install an update it should rename the old .cfg file to an .bak file so that we can update the .cfg file too. But for no apparent reason this doesn't work anymore. It worked for years with the old IS2012, but now it has stopped working. I tried it with an InstallScript, with the MoveFile Table and other methods. Nothing worked.
But when I try to rename (and copy) the file to the installation folder (under ProgramFiles) it is working. But it's working nowhere else.
Has someone an idea why I am now unable to write into this folder? I am very disappointed and have no more ideas...
Thanks for help, and sorry for my bad English.
You might want to try using MsiDiff, or a similar tool, to isolate what changed between the builds of your .msi packages. The error in the verbose log may be quite important.
Note: 1: 2727 2:
If you look up Windows Installer Error Messages and search for 2727, you'll find this error means
The directory entry '[2]' does not exist in the Directory table.
Since [2]
corresponds to the empty value in the message, this suggests that there is a table with a directory identifier that is incorrectly empty. You could try some of the usual suspects, such as running validation, to identify the problem. You mention the MoveFile table, but that takes properties instead of directories, so I'm uncertain if it would yield this message.
If this isn't enough to help you find the problem and resolve it, you should update your question with further specific details.