2013-02-27 35 views
2

我們在Wix中創建了一個MSI和Bundle。我需要將這兩種語言本地化,以便語言選擇GUI將彈出,用戶可以在運行時選擇語言。如果有人能幫助我,我會非常感激。我們可以在運行時使用語言選擇UI本地化WIX msi和捆綁包嗎?

對於MSI,我正在創建另一個啓動語言選擇combobox的引導程序,並使用所需的轉換(使用命令shell)調用tranfomed MSI。我仍然不確定這種方法的可行性。我在創建自定義用戶界面bootstapper中的組合框並調用batch命令以所需語言運行此msi時遇到了問題。

For Bundle - 我仍在努力尋找一種方法。如果有人對此有任何想法/樣本。

如果有人能夠幫助我解決這個問題或爲我提供另一種方法來滿足上述要求,這將會很有幫助。

感謝,

回答

0

微星

  1. UI選擇創建一個MSI本地化爲每種語言
  2. 選擇一個基地,生成MST的
  3. 包的MSTS,微星爲引導程序。
  4. 自定義HyperlinkTheme.xml包括單選按鈕用於選擇每種語言。
  5. 使用可變標籤從UI鏈接單選按鈕,.wxs文件
  6. 包括在MSI標記MSI屬性和硬編碼的路徑,MST的和InstallCondition屬性來區分每個選項
  7. 使用最新版本的wix來支持此功能。

捆綁只支持自動鹼基檢測沒有對UI選擇

+0

你在哪裏添加單選按鈕?主題的''元素不允許「RadioButton」類型的子元素。你能否顯示(摘錄)你創建的主題? – harper 2016-09-25 10:09:02

2

推薦的方法(和爲此事,由大多數MS產品中使用的方法),是你描述。

  1. 創建MSI本地化爲每種語言
  2. 挑選一個基地,生成MST的
  3. 包的MSTS,MSI和引導程序,這將
  4. 出現語言選擇對話框,並呼籲MSIEXEC,傳遞TRANSFORM=language.mst作爲參數

MSIEXEC進程啓動後,所有本地化敲定,可以這麼說。任何選擇都必須在MSI系統之外進行。

See this codeproject article for an example.

+0

你不需要調用MSIEXEC。簡單地使用'MsiPackage'捆綁msi並創建一個子節點'' – Durgesh 2013-05-09 08:49:58

+0

@durgesht,這個問題引用創建一個自定義引導程序,它必須調用'MSIEXEC直接。 WiX Bundles只是簡化了這樣的引導程序的生成 - 這種或那種方式,'TRANSFORMS'屬性傳遞給MSI系統。 – Mitch 2013-05-09 22:22:12

相關問題