4

我使用 Click Once 的时间已经很久了,它很容易将应用程序部署给我的客户。但最近我决定是时候继续前进了,因为有些事情我根本无法在ClickOnce部署中修复(比如 ngen Devexpress 库)。

所以我想搬到 WiX 但我想知道我是否真的必须

<DirectoryRef Id="INSTALLLOCATION">
  <Component Id="Executable.exe" Guid="{C4DCEDD2-B4FF-4DFB-B7D6-2FA8B16D7740}">
    <File Id="Executable.exe" Source="C:\MySourceFiles\Executable.exe" KeyPath="yes" Checksum="yes"/>
  </Component>
  <Component Id="documentation.html" Guid="PUT-GUID-HERE">
    <File Id="documentation.html" Source="C:\MySourceFiles\documentation.html" KeyPath="yes"/>
  </Component>

  ... each dll goes here
  ... each xml goes here
</DirectoryRef>

我是否必须真正浏览 70 多个文件并一一放置并为其生成 GUID?它不能从目录或其他东西自动生成它,然后最终我可以填写它吗?还是我做错了什么?

4

3 回答 3

7

不,你不可以使用收获工具 heat 来生成 wxs 文件。有关更多信息,请参阅http://wix.sourceforge.net/manual-wix3/heat.htm。3.6 的最新版本中还有更多功能未在此处记录,因此请查看您的版本的帮助。

于 2012-06-16T14:57:03.393 回答
3

您可以尝试很多外部 wix 工具,这里有一些:

蜡编辑

伊斯维克斯

您还可以滚动您自己的自定义脚本来生成您需要的 XML。

于 2012-06-16T13:07:55.100 回答
2

我是否必须真正浏览 70 多个文件并一一放置并为其生成 GUID?

不,您可以省略 GUID。从属性的组件元素文档中:GUID

如果省略,默认值为“*”,表示链接器应生成稳定的 guid。仅具有单个文件作为组件的 keypath 或没有文件和注册表值作为 keypath 的组件支持可生成的 guid。

您也可以省略文件IdKeypath属性。Id可以从Source文件名自动生成。并且KeyPath是多余的,因为如果一个组件只有一个文件,那么 wix 会自动将该文件标记为 keypath。

于 2012-06-16T18:38:10.517 回答