我的安裝程序,創建WiX通過.wxl文件本地化。在WiX中可以指定多種文化,light.exe將被多次調用,爲每種語言創建一個安裝程序(這可以在從Visual Studio構建安裝程序時使用)。是否可以使用.wxl文件在WiX中本地化EULA?
除EULA以外的所有作品文件。它在.wxs文件通過
<WixVariable Id='WixUILicenseRtf' Value='en.rtf' />
定義,我不知道改變從.wxl本地化文件這個值的好方法。使用
<WixVariable Id='WixUILicenseRtf' Value='!(loc.EulaFile)' />
<String Id='EulaFile'>en.rtf</String>
不工作,SICE .wxl文件在鏈接時和.wxs使用它們之前被編譯,所以編譯器無法找到!(loc.EulaFile)
。搜索論壇我發現了兩種解決方法。首先是爲每種語言創建一個自定義許可證對話框 - 它似乎可行,但這是一種非常困難的方式,並且會膨脹源代碼。第二種方法是放棄Visual Studio/Votive構建並多次調用light.exe,每次通過-d命令行鍵指定不同的許可證文件。
是否有任何方法可以解決此問題並使用本地化的EULA文件,因此項目可以在VisualStudio + Voltive中構建而無需複製粘貼大量對話框?本地化安裝程序是一個非常普遍的問題,所以也許存在一些我不知道的解決方案?
無法在WiX 3.7中正常工作。自從WiX 3.0以來,本地化支持已從Text元素中移除? – ivan 2013-10-08 12:10:49
@ivan使用WiX 3.7對我來說工作正常。 – RenniePet 2013-10-08 13:41:26
用戶@kadorken在建議的編輯中指出:「確保在你的UIRef ID =」WixUI_InstallDir「指令之後放置修補程序發佈指令以使它們有效。」 – RenniePet 2015-02-12 08:32:40