在安装旧版本时,如何确保我的Visual Studio安装程序更新DLL?

时间:2021-11-29 19:31:30

I recently noticed that my installer (VS 2008) does not remove the DLLs during uninstall. This is not too much of a concern to me but the following is a concern: when I install an older version of my software, it does not overwrite the DLLs -- it keeps the newer version.

我最近注意到我的安装程序(VS 2008)在卸载期间没有删除DLL。这对我来说并不是一个问题,但以下是一个问题:当我安装我的软件的旧版本时,它不会覆盖DLL - 它保留了较新的版本。

When I am rolling back my system to an older version, I would like everything to roll back. What is the best way to accomplish this? Do I need to create a custom action to remove the DLLs at uninstall to be safe, or is there another way to remove them, or is there a setting to force the installer to always write the DLL.

当我将我的系统回滚到旧版本时,我希望所有内容都能回滚。完成此任务的最佳方法是什么?我是否需要创建自定义操作以在卸载时删除DLL以确保安全,或者是否有其他方法可以删除它们,或者是否有设置强制安装程序始终编写DLL。

1 个解决方案

#1


First you should ask yourself why didn't the installer remove the files, because it should and if it didn't then it's a BUG (or that the setup is waiting for a reboot to remove the files).
You can run you MSI with logging in order to discover what's going on there:
msiexec.exe /i /l*v

首先你应该问问自己为什么安装程序没有删除文件,因为它应该,如果它没有,那么它是一个BUG(或安装程序正在等待重启以删除文件)。您可以通过日志记录运行MSI以发现正在发生的事情:msiexec.exe / i / l * v

#1


First you should ask yourself why didn't the installer remove the files, because it should and if it didn't then it's a BUG (or that the setup is waiting for a reboot to remove the files).
You can run you MSI with logging in order to discover what's going on there:
msiexec.exe /i /l*v

首先你应该问问自己为什么安装程序没有删除文件,因为它应该,如果它没有,那么它是一个BUG(或安装程序正在等待重启以删除文件)。您可以通过日志记录运行MSI以发现正在发生的事情:msiexec.exe / i / l * v