2011-05-27 66 views
5

我正在使用heat.exe来生成WiX文件碎片。heat.exe自动生成文件碎片 - 每个构建?

我已经通过在Visual Studio中向我的网站项目添加了构建后步骤来完成此任务,这样每次构建完成后,Web项目中的任何新文件都将被拾取并创建新的wxs文件碎片。这些文件片段直接复制到wix安装项目中,以便在安装项目生成时,它将所有新添加的内容文件包含到msi中。

我上次注意到,每次heat.exe重新生成wxs文件片段时,它都会创建新的GUID(但显然不是新的组件ID)。不管怎么说,我对WiX /热量都很陌生,所以问题是 - 我应该每次自动生成wxs文件,例如,当新版本的网站发布并安装/卸载时,这会如何影响生产?有什么理由不应该自动生成,并在每个构建中包含这些文件碎片?

回答

2

在这种场景中有两条主线:你遵循哪一个取决于哪个风险更令你感到厌烦。你是否担心你可能没有包含一些在将来变得必要的更改,因为没有人告诉你,你没有更新你的一代,或者你更担心由自动生成结果创建的两个.msi文件不会升级不错,不让你知道重要文件是否丢失?

我个人倾向于认为自动发电会导致难以解决的问题,所以我建议只有当您知道某些事情发生了变化时才生成这些问题,然后验证您所期望的差异。

+0

这是我所想的。但是我真的可以对自动生成的确切问题使用更具体的细节。到目前为止,我刚刚看到一些人评论说它可能会影响升级等事情,但没有人确切地说明技术问题是什么 - 它是否与指导有关?此外,大概如果你完全卸载旧msi,然后安装新的,那么你没有升级问题? – jimasp 2011-05-31 09:36:43

+1

如果您执行卸载并全新安装新组件,则可避免很多错误,特别是如果您的组件都不是*共享*。一般来说,您必须担心组件规则http://msdn.microsoft.com/zh-cn/library/aa372795(v=vs.85).aspx - 通常情况下,您看到的情况是整个组件正在被添加或在文件消失时更改或组件内的注册表信息发生更改。两者都可能是轻微升级后的毁灭性后果(卸载时留下的文件或密钥,或未安装的新版本)。搜索*组件规则*或*小升级*获取更多信息。 – 2011-05-31 12:56:02

+0

谢谢,那个链接指向了我正确的方向。 – jimasp 2011-06-15 10:30:53