VS2013安装程序项目 - 安装不永久的文件

时间:2015-06-24 03:31:41

标签: visual-studio-2013 setup-project

我正在使用Visual Studio 2013安装程序项目来安装/更新我的C ++应用程序。为了更新客户端数据库,我正在以临时名称安装新的master数据库。当我的应用程序启动时,它会检查临时文件是否存在 - 如果存在,它将运行db update函数并在完成时删除临时文件。问题 - 当我的应用程序启动后,用户会收到“Windows正在配置...”,因为现在安装的临时数据库文件已丢失。在VS安装程序项目中没有可控制此属性的属性。在Orca中,我在FeatureComponents表中找到了为该文件设置DefaultFeature的行。事件列表告诉我此文件上的DefaultFeature会触发该行为。如果我在Orca中删除该表行,则不会安装该文件。有没有人知道我用来安装文件的正确方法,我可以随后删除而没有任何后果?

1 个答案:

答案 0 :(得分:0)

执行此操作的官方方法在VS安装项目中不受支持。您需要在安装后将要删除的文件的组件ID设置为null,请参阅ComponentId列:

https://msdn.microsoft.com/en-us/library/aa368007(v=vs.85).aspx

因此您需要使用Orca编辑MSI文件,以将该guid列设置为为该文件为空。如果查看Component列(以C_开头),您将在文件表的Component_列中看到它,这可以帮助您找到它。

其他方法不可靠(因为,例如,还有其他方法可以启动修复并尝试还原文件)。

相关问题