2010-08-04 46 views
0

好吧,您可能知道法文中的CSV分隔符不是,它是;。我們需要將應用程序部署到法語和英語系統。InstallShield 2009:檢測系統CSV分隔符並更新INI值

我想要做的是,InstallShield會檢測系統CSV分隔符,然後將此值保存在安裝了應用程序的INI中(我知道,INI很久以前就已經過時了,但是它的設計我們選擇了)。

是否可以使用InstallShield 2009做到這一點?我找不到的特殊屬性值的幫助文件這一有價值的東西......

編輯:,因爲它可能是目前還不清楚,需要考慮到該INI結構:

[settings] 
separator=, 

我想由InstallShield自己動態設置的separator值爲安裝時間(基於系統設置)。我知道InstallShield中的一些「特殊值」,比如[INSTALLDIR],但我不確定系統中的CSV分隔符(您知道CSV分隔符是多年以來所有Windows版本中的語言環境設置的一部分)。

回答

0

我結束了讀取註冊表項

HKEY_CURRENT_USER \控制 面板\國際\ SLIST

並保存該值到我的INI文件。

0

我不知道,或;作爲INI規範的一部分。我的理解是它的:

[科]

鍵=值

裏面的價值真的沒有什麼關係INI的每說任何界定。

從您的問題中不清楚您是否使用InstallScript項目或基本MSI項目,因此很難說如何執行您想要的操作。一般來說,儘管你應該能夠找到一種方法來做到這一點。

編輯:根據http://en.wikipedia.org/wiki/INI_file the;實際上保留,表示意見,所以我會確保,如果你寫一個INI像

[科]

鍵=值; MoreValue

,一個INI調用read科/鍵實際上返回什麼你期待它回來。 InstallShield可能可以編寫它,但可能無法讀取它。很難說,沒有嘗試。

+0

是的,但我希望根據系統設置更改INI中的一個值。在InstallShield中,您可以輸入特殊值,例如[INSTALLDIR],我猜想有一個[CSVSEPARATOR]指向安裝時的系統值。我正在尋找那個特殊的價值,然後我將把它儲存在我的INI(一個有部分,關鍵和價值的常規ici)中。我在IS2009中使用了一個基本的MSI項目。 – AlexV 2010-08-04 14:17:05

+0

你能舉一個你想要它看起來像更新之前和之後的例子嗎? – 2010-08-04 15:03:44

+0

看我的編輯。它應該看起來像這樣,或者; =之後。 – AlexV 2010-08-04 15:57:51