1

我根据在这里找到的代码创建了一个安装程序。如果存在应用程序的早期版本,我希望安装程序在安装新版本之前将其删除。

如果是全新安装,一切顺利。

如果是升级,就会发生奇怪的事情。正如预期的那样,旧版本被删除,注册表被更改,快捷方式被放置在桌面上。奇怪的是,安装程序完成后,应用程序文件夹中不存在主文件。

升级后启动时,会弹出一个小的安装程序消息框并指出“请稍候,Windows 正在配置 -app name-..”。在此快速消息之后,该文件应存在于应用程序文件夹中,并且应用程序启动。

但在发布之前,它不存在。我什至在启动应用程序之前尝试重新启动,看看如果文件卡在某种缓存中,是否会放置文件。

有人见过这种行为吗?这有点像这个问题,但每次升级都会发生。

4

1 回答 1

1

奇怪的是,安装程序完成后,应用程序文件夹中不存在主文件。

如果组件管理不正确,这是 Windows 安装程序升级的常见问题。如果您从控制面板启动安装程序进入维护模式并进行“修复”,您通常会看到丢失的文件重新出现。在这种情况下,Windows 会在您启动应用程序时自动修复它。

我头顶的一些可能的解释:

  1. 新版本的安装程序将此文件安装在具有新 GUID 的组件中。这会导致问题,因为组件 GUID 应该保持稳定。

  2. 您的安装程序会为每个组件安装多个文件。这会导致问题,因为是否应该安装组件是由keypath决定的,并且只有一个文件可以是 keypath。每个组件坚持一个文件

  3. 文件的“新版本”实际上具有较低的版本号。这样的“升级”不能正常工作

于 2012-04-05T08:27:46.513 回答