2012-03-13 162 views
2

我必須爲我的客戶發佈的應用程序創建語言包,創建語言包安裝程序的最佳方法是什麼,因此它將安裝在頂級客戶發佈應用程序中。Installshield多語言支持應用程序

我應該提供的選項用戶安裝和卸載語言包作爲well.Suggest我通過2011年的InstallShield

回答

0

做到這一點我會做這種方式的最佳途徑。

當然當它安裝在您的應用程序存儲在註冊表中的安裝文件夾。然後你的語言包搜索這個註冊表項。

  • 如果安裝位置未存儲在註冊表中,那麼您的應用程序未安裝:報告錯誤並退出。
  • 否則,您會知道在哪裏複製語言文件,因此請繼續安裝您的語言包。

您的語言包將在「添加/刪除程序」中有其自己的條目。
如果你不想要它,還有其他兩個選項:

  1. 註冊語言包作爲更新到您的應用程序。然後只有當用戶選擇查看安裝的更新時纔會顯示。
    如何做到這一點在Filtering the Add or Remove Programs List解釋。
  2. 從添加/刪除程序中隱藏您的軟件包。在這種情況下,您必須提供另一種卸載軟件包的方式。

還有一兩件事:你的主應用程序卸載程序應(能夠)提供的選項卸載已安裝的所有語言包。你不想讓用戶手動卸載它們,對吧?

這很棘手。我想到的最簡單的方法是您的主卸載程序枚舉已安裝的語言包並安排其刪除。但這可能不是UAC友好的。

實現刪除語言包的方法取決於如何創建這些包。如果你的卸載程序有一個引導程序,一個.exe而不是裸露的.msi,那麼它可能非常容易。引導程序啓動主應用程序的卸載過程。如果成功,它將繼續移除語言包。這對UAC友好:啓動程序在啓動時要求提升,因此啓動的所有進程也將被提升。

+0

謝謝阿列克謝..即使我認爲同樣的方法。請你詳細說明如何註冊語言包作爲我的應用程序的更新?即使我的主要安裝程序應該卸載安裝的所有語言包..這也是要求之一。我該怎麼做 – 2012-03-14 13:08:37

+0

@VinayMS我更新了我的答案。 – 2012-03-15 06:33:23

+0

嗨,我需要一些更多的幫助,我創建單獨的文件作爲組件與只有語言。我從註冊表中找到安裝位置,並通過自定義操作進行設置。但我無法將其註冊爲我之前安裝的更新程序。請你幫助我如何設置我的獨立exe文件的父項名稱 – 2012-03-28 10:32:10