[英]When building an installer with WiX, how can I merge INI files?
我正在尋找的行為是:
if (!$bIniFileExists)
{
CopyBaseIniFile($installDir, $newIniFile);
}
else
{
foreach $key in $newIniFile
{
if (!exists $oldIniFile{$key})
{
AddKeyValueToIni($oldIniFile, $key, $newIniFile{$key});
}
}
}
因此,我想保留舊的用戶設置,但仍要復制任何新設置。 我是WiX的新手,經過一番谷歌搜索后,我發現了IniFile WiX對象,但問題是我寧願將所有默認值都保留在“默認ini文件”中,這使得從調試器運行應用程序變得更加容易。 使用IniFile解決方案,我需要在config.ini和安裝程序中都包含密鑰,這似乎是不必要的重復工作。 有什么好方法可以做我想要的嗎?
對於INI和XML,這變得非常復雜。 要執行您的建議,我建議重寫您的代碼2支持2個INI文件。
股票
USER.INI
概念是安裝程序始終可以安全地覆蓋STOCK.INI,因為它“擁有”它。
另一方面,USER.INI不會由安裝程序安裝,而是由應用程序生成。
然后,讀取設置的代碼必須檢查USER.INI,以查看是否存在一個值,以及是否不從STOCK.INI中將其變為紅色。
這允許對stock.ini進行管理,並允許user.ini充當轉換。
試圖在一個文件(尤其是XML)中管理所有內容非常非常困難,並且需要進行大量規划才能確定要保留的屬性以及在合並數據時要替換的屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.