我有一個主要的.wxs文件和一個空的.wxs文件的VS2010 WiX項目。空的.wxs在項目的預建事件中被覆蓋,使用heat.exe從控制檯exe中收集所有內容。該exe文件具有InstallUtil掛鉤,並且在VS安裝項目的日子裏,該exe文件作爲服務安裝。WiX 3.5從熱源安裝服務,需要自定義操作?
我試圖在WiX中使用<ServiceInstall>
位,但是當我指定可執行文件和其他元素來安裝服務時,light會抱怨主.wxs中的.exe和熱中的.exe之間發生衝突生成.wxs。
我想自定義操作是不是做服務的安裝最好的辦法,所以我試圖XSL轉換得到的文件指出,我不希望(這是一個單一的文件滿分100分)。
我的XSL一定有問題,因爲它不匹配/過濾。那就是:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
exclude-result-prefixes="msxsl"
xmlns:Wix="http://schemas.microsoft.com/wix/2006/wi">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="
Component[File/@Source='$(var.bindir)\servicehost.exe']"/
</xsl:stylesheet>
我要撕裂了這個樣子的了.wxs的部分:
....
<Component Id="cmpD64BE1790BFAF0F05DA37558F5D72572" Guid="{6C70DDC8-349B-4B66-A415-DE08E302C2A8}">
<File Id="fil24DFDFCA765C9A8BBB8854CE66AED0E8" KeyPath="yes" Source="$(var.bindir)\servicehost.exe" />
</Component>
....
<ComponentRef Id="cmpD64BE1790BFAF0F05DA37558F5D72572" />
....
是什麼,使這項工作的最佳方式是什麼?
謝謝。
類似的問題:http://stackoverflow.com/questions/7906578/removing
我使用XSL在
ServiceInstall
和ServiceControl
元素添加到由heat
產生的片段解決同樣的問題-unit-test-dll-files-when-wix –