在添加/删除程序中尝试删除我们的应用程序时,弹出以下错误,应用程序卸载失败:
错误
“mFileBagIDE.dll”不是有效的短文件名。
奇怪的是,如果原始安装 DVD 不在驱动器中,您只会收到此错误。如果 DVD 在驱动器中,则卸载工作完美。
这是真正的问题:直到我们的应用程序已经被广泛部署之后,我们才发现这个错误,而且我们客户的情况是,他们中的许多人可能不再拥有他们的原始 DVD。这意味着下一个版本的安装程序(进行 Windows 安装程序主要升级)将失败,因为它无法首先删除以前的版本。
所以,我的问题是双重的:
- 我们做了什么来制造这个问题,以便我们可以在未来的版本中避免它?
- 有没有办法告诉我们的下一个 Windows 安装程序忽略此错误并继续删除以前的版本?
我们当前的安装程序(导致问题的安装程序)是使用 InstallAware 生成的。我们很可能会转向 WiX。但是任何平台(InstallAware、WiX、原始 MSI 表)的解决方案都值得赞赏!
更新:InstallExecuteSequence
我的 MSI和表中都有以下行InstallUISequence
,这可能非常相关,但我不知道 SRCDIREX 属性是什么,或者它的设置位置。
| Action | Condition |
|---------------|--------------|
| ResolveSource | NOT SRCDIREX |