当我创建一个Windows Installer程序包(比如说使用WiX)并安装应用程序App.exe
以及App.exe.config
时,如果配置文件有自己的组件,或者它应该是一个配套文件应用程序可执行文件?
<Component Id="C.App.exe">
<File Source="App.exe"/>
</Component>
<Component Id="C.App.exe.config">
<File Source="App.exe.config"/>
</Component>
与
<Component Id="C.App.exe" Guid="PUT-GUID-HERE">
<File Id="F.App.exe" Source="App.exe"/>
<File Source="App.exe.config" CompanionFile="F.App.exe"/>
</Component>
如果我根据某些外部属性(比如 test 或 release 等运行时环境)安装不同的App.exe.config
文件,那会影响我应该选择哪个选项使?
答案 0 :(得分:4)
答案取决于它。 Yan提到的Rob的文章是一本很好的读物,这是另一篇:
定义安装程序组件 http://msdn.microsoft.com/en-us/library/aa368269(VS.85).aspx
诀窍在于了解基于密钥文件的成本核算和维修方式,默认版本控制规则的工作原理,未来计划如何为应用程序提供服务以及基于此做出决策。
答案 1 :(得分:1)
建议将单个资源(文件,注册表项等)放入单个组件中。在这种情况下,此资源是组件的KeyPath。 Windows Installer监视每个组件的关键路径,以确定是否值得安装,修复,升级等。
Rob Mensching的This article详细解释了这些事情。