我现在使用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?它不能从目录或其他东西自动生成它,然后最终我可以填写它?或者我做错了什么?
答案 0 :(得分:7)
不,你不能使用收获工具加热来生成wxs文件。有关详细信息,请参阅http://wix.sourceforge.net/manual-wix3/heat.htm。 3.6的最新版本中有更多功能未在此处记录,因此请查看您的版本的帮助。
答案 1 :(得分:3)
答案 2 :(得分:2)
我是否必须真正通过70多个文件并逐个放置并为其生成GUID?
不,您可以省略GUID。来自GUID
属性的Component element documentation:
如果省略,则默认值为'*',表示链接器 应该产生一个稳定的guid。仅支持可生成的guid 对于具有单个文件作为组件的keypath或no的组件 文件和注册表值作为keypath。
您还可以省略文件Id
和Keypath
属性。可以从Id
文件名自动生成Source
。并且KeyPath
是多余的,因为如果一个组件只有一个文件,那么wix会自动将该文件标记为keypath。