I've created a MSI from scratch through the Windows Installer API. It's barebones but seems to be working normally except that if I manually delete some files and run the msi again, the files don't get installed again. However, if I delete a directory, and run the install again, the directory is recreated and all the files in it are reinstalled.
My install does not have the maintenance dialog. It's a barebones UI. Welcome, destination and "about to install" are the only dialogs. I don't have an upgrade code or upgrade table at the moment but adding these in didn't seem to help.
Any ideas on how to get the installer to reinstall missing files?
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Reinstall not replacing missing files
Started by
p13
, Sep 28 2005 14:54
6 replies to this topic
Posted 28 September 2005 - 18:57
I think that you haven't implemented a reinstallation mode in your package. You must check if the product is already installed (Property: Installed). If this you must set the Property REINSTALL and REINSTALLMODE in the package. Make a test:
Install your package and delete the files. After this make a reinstallation by calling the following command line:
msiexec /fomus <Path to package>
- Andreas
Install your package and delete the files. After this make a reinstallation by calling the following command line:
msiexec /fomus <Path to package>
- Andreas
Andreas Kerl
Inside Windows Installer 4.5
ISBN 3-86645-431-7
Posted 29 September 2005 - 14:51
I have tried calling my MSI while setting REINSTALLMODE on the command line with no success.
Also, even if I don't have a reinstall mode implemented, why is it replacing missing directories but not files?
Also, even if I don't have a reinstall mode implemented, why is it replacing missing directories but not files?
Posted 29 September 2005 - 15:07
Do you have Key File in your components ?
If you don't have a Maintenance Interface, how do you implement ReInstall ?
If you don't have a Maintenance Interface, how do you implement ReInstall ?
ankur tyagi
Posted 29 September 2005 - 15:30
The Keypath column in my component table is NULL. Which means: "If KeyPath is null, then the folder of the Directory_ column is used as the key path."
This seems to explain a few things. If the directories are the keypaths, it might explain why a missing directory will force the installer to reinstall that directory.
As for the maintenance UI, there shouldn't be any in this install. There's no feature selection either. It supposed to install files or uninstall files and in the case of reinstalls, it would ideally replace missing files or at least reinstall everything.
This seems to explain a few things. If the directories are the keypaths, it might explain why a missing directory will force the installer to reinstall that directory.
As for the maintenance UI, there shouldn't be any in this install. There's no feature selection either. It supposed to install files or uninstall files and in the case of reinstalls, it would ideally replace missing files or at least reinstall everything.
Posted 30 September 2005 - 22:40
I've got another problem. If I run an upgrade install it runs but doesn't do anything. My higher version file doesn't replace the older version. Also, if I now delete a directory (after an upgrade install) and then run that upgrade again, nothing is replaced.
My upgrade is a complete install. Small upgrade so only the package code has changed.
My upgrade is a complete install. Small upgrade so only the package code has changed.
Posted 06 October 2005 - 12:35
Create a verbose log file of the update and look for SELMGR errors.
Stefan Krüger
InstallSite.org twitter facebook