当试图在添加删除我们的应用程序/删除程序,下面的错误弹出,并且应用程序,无法卸载:卸载错误,如果原来的安装DVD不在驱动
错误
“ mFileBagIDE.dll'不是有效的短文件名。
奇怪的是,如果原始安装DVD不在驱动器中,您只会收到此错误。如果DVD在驱动器中,则卸载完美。
这里是真正的踢球者:我们没有抓住这个错误,直到经过我们的应用程序已经被广泛使用,我们的客户的情况是这样的,它很可能许多人不再有原来的DVD。这意味着,在未来版本的安装程序(做一个Windows安装程序重大升级)将失败,因为它无法先删除以前的版本。
所以,我的问题是双重的:
- 我们做了什么来创建这个问题,所以我们能避免它在未来的版本?
- 有没有办法告诉我们的下一个Windows安装程序忽略此错误并继续前进,删除以前的版本?
我们当前的安装程序(导致问题的安装程序)是使用InstallAware生成的。我们可能会转向WiX。但任何平台(InstallAware,WiX,原始MSI表)的解决方案,我们感谢!
更新:我有两个在我的MSI的InstallExecuteSequence
和InstallUISequence
表,这很可能是相关的下一行,但我不知道是什么SRCDIREX属性,或者它被设置。
| Action | Condition |
|---------------|--------------|
| ResolveSource | NOT SRCDIREX |
我想这可能是它!我在InstallExecuteSequence和InstallUISequence中都有一个ResolveSource操作。两者的条件是“不SRCDIREX”。我对这个房产是一片空白。如何检查该财产的价值在哪里设置? – 2010-01-28 16:09:23
你可以用orca打开MSI并搜索SRCDIREX,也许你可以找到一些东西。 – 2010-01-28 16:14:35
是的,我试过了,除了ResolveSource操作中的两个没有匹配。还有其他地方可能吗? – 2010-01-28 16:17:50