我有一個安裝程序,其中包含大量要安裝的文件。我正在使用heat.exe來收集所有文件。這個加熱命令實際上是我的構建腳本的一部分,後面是其他命令,如Candle.exe和light.exe。現在我的應用程序test.exe也採用自動生成的GUID和組件ID進行採集。如何將這個特定的應用程序添加爲防火牆異常。問題是,每次我使用腳本構建安裝程序時,都會使用新的組件ID生成新的收穫文件。有什麼建議麼?如何在WiX安裝程序中將應用程序添加爲防火牆例外
1
A
回答
1
heat
接受XSL轉換參數以任何您需要的方式修改其輸出。簡單的XSL樣式表可以將元素添加到通過XPath選擇的特定File
元素。
這假設您的heat
運行中只有test.exe
。如果不是這種情況,修改的XPath在match
屬性:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:wix='http://schemas.microsoft.com/wix/2006/wi'
xmlns:fire='http://schemas.microsoft.com/wix/FirewallExtension'
xmlns='http://schemas.microsoft.com/wix/2006/wi'
exclude-result-prefixes='wix'
>
<xsl:output method="xml" indent="yes" />
<xsl:template match="//wix:File[contains(@Source,'\test.exe')]">
<wix:File>
<xsl:copy-of select="@*" />
<fire:FirewallException Id='test.exe' Name='Test Server' IgnoreFailure='yes'>
<xsl:comment> localhost won't work here </xsl:comment>
<fire:RemoteAddress>127.0.0.1</fire:RemoteAddress>
</fire:FirewallException>
<xsl:apply-templates select="node()" />
</wix:File>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="/">
<xsl:comment>!!!DO NOT EDIT!!! Generated by heat.exe and FirewallExceptions added.</xsl:comment>
<xsl:apply-templates />
</xsl:template>
</xsl:stylesheet>
+0
有什麼問題。我正在將我的輸出放在 以下的文件中。
+0
不要讓放置XML命名空間前綴聲明(xmlns :...) 打擾你; XSL處理器可以將它們放置在與輸出文檔具有相同語義含義的任何地方。如果你認爲別的東西是錯的,請在你的問題中發佈這個輸出 - 它在評論中被破壞和/或不完整。 –
相關問題
- 1. WiX安裝程序:如何添加防火牆例外規則?
- 2. 如何在安裝過程中嚮應用程序添加防火牆權限?
- 3. Windows 8將程序添加到防火牆例外
- 4. 本地化使用防火牆擴展的WiX安裝程序
- 5. 添加防火牆例外
- 6. 在WIX安裝程序中添加GRID
- 7. WIX安裝程序中添加和LocalAppDataFolder
- 8. Java EE Web應用程序防火牆
- 9. 以編程方式將應用程序添加到Windows防火牆
- 10. 如何在Android中創建防火牆應用程序?
- 11. 如何將MAF過程添加到Windows防火牆例外規則
- 12. 添加防火牆例外的最佳實踐:程序或端口異常?
- 13. InstallShield可以將應用程序添加到Windows防火牆例外列表中嗎?
- 14. 應用程序只能通過防火牆,如果它關閉(不能添加爲例外)
- 15. 如何在WiX安裝程序中添加「升級」配置?
- 16. 如何在wix安裝程序中添加複選框
- 17. 如何將UI添加到WiX 3安裝程序?
- 18. 如何將內容文件添加到Wix安裝程序
- 19. 創建Mac OSX上安裝程序,從而安裝的應用程序不會掀起防火牆
- 20. 無法在wix安裝程序中創建應用程序池
- 21. 郵件應用程序如何繞過防火牆?
- 22. 如何讓Windows將我的應用程序識別爲防火牆產品?
- 23. 如何添加出站Windows防火牆例外?
- 24. 安裝程序條目在Wix的添加/刪除程序中不可用
- 25. 將安裝程序添加到c#應用程序
- 26. Wix安裝多個應用程序
- 27. 在一個應用程序中的Symfony 3,2防火牆
- 28. 用WiX安裝程序安裝PostGreSql
- 29. 在WiX中使用防火牆擴展
- 30. 防止在XP上安裝WIX安裝程序
你能不能添加customaction與'的netsh advfirewall的腳本fitewall加上'像描述這裏(http://support.microsoft .com/kb/947709) – rene
其實我想試試WiXFirewallExtension。 http://wix.sourceforge.net/manual-wix3/firewall_xsd_firewallexception.htm – Durgesh
在你的情況下,fileid是否穩定?在這種情況下,你確實可以使用該擴展。 – rene