2009-10-14 82 views
0

我對幾種不同的產品有幾個Installshield 12設置(使用基於非msi Installscript的設置)。這些共享一些代碼,我想將它們放到共享的.rul文件中。但是,某些代碼可以向用戶報告錯誤或一般顯示消息。Installshield 12:如何共享共享函數的字符串和翻譯

有沒有什麼方法可以跨項目共享字符串(及其翻譯),就像你可以共享.rul文件一樣?我發現字符串表包含在ism文件中,一些rtfm-ing和google搜索並沒有找到一個簡單的(或者甚至是任何)方法來做到這一點。

回答

0

您可以在常規信息視圖或通過自動化界面中導出和導入字符串表。如果你的語言不止一種,你可能會希望將它作爲自動化腳本來避免讓自己變得瘋狂。

+0

如果我理解正確的這個,你說的是,來自主義建築安裝程序之前,我可以運行一個導入與我使用到ISM其他.ruls去字符串表的腳本? – Legolas 2009-10-15 07:34:50

+0

正確。如果您正在運行自動構建,那麼將這種步驟整合到該應用程序中應該很容易。如果你不是,那可能有點痛苦。 – 2009-10-15 14:23:55

+0

我正在運行自動構建,所以應該沒問題。我只需要知道總理版附帶的命令行客戶端是否也可以這樣做。感謝這個想法。 – Legolas 2009-10-16 17:53:35

0

我有一個CommonIS文件夾,其中包含項目之間共享的.rul & .h文件。其中一些函數通過@ABC引用字符串。順便說一句,我發現即使ABC標識符沒有在項目中定義,腳本也會編譯。對於給定IS proj從我的公共文件夾中引用的任何函數,我手動將所需的字符串添加到ISString表中。我不太經常添加新的常用字符串,所以它並不可怕。

在少數情況下,我將我的.rul函數更改爲接受sz arg,而不是在函數中嵌入@ABC。然後,當我調用該函數時,我將@ABC指定爲arg。

IS有一個自動化接口。目的(我認爲)是允許您自定義構建和維護步驟(我相信在運行時不可訪問)。因此,可以想象,您可以創建一個新的CommonString IS項目,即商店。然後使用自動化接口將這些刺激複製到需要它們的各種其他IS項目中。

最後,有可能包括IS .ISM項目到你設置的臨時文件夾,然後使用基於COM的XML DOM在運行時訪問ISString表。缺點可能是你不能使用@ABC語法來訪問這些字符串。