2016-05-10 28 views
1

使用我的WiX安裝程序,我必須替換現有的安裝程序。在WiX引導程序(燒傷)中讀取ini值

當前的安裝程序寫的版本號和一些更多的東西.ini文件。當WiX安裝程序運行時,我必須顯示當前安裝的版本和要安裝的版本。

我現在有安裝頁面如下:

<Page Name="Install"> 
    <Text X="11" Y="-73" Width="246" Height="17" FontId="3">Currently installed version:</Text> 
    <Text X="11" Y="-73" Width="246" Height="17" FontId="3">CURRENT VERSION</Text> 
    <Text X="11" Y="-73" Width="246" Height="17" FontId="3">Version to be installed:</Text> 
    <Text X="11" Y="-73" Width="246" Height="17" FontId="3">#(loc.InstallVersion)</Text> 
    <Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button> 
    <Button Name="WelcomeCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button> 
</Page> 

這成功地顯示將要安裝的版本。但我想顯示當前版本。

我安裝的版本寫入註冊表和ini文件。這必須在軟件使用ini文件時完成。

所以我的問題是: 如何閱讀與WiX的引導程序(燒傷)的INI值?

+0

你可能會創作你自己的(或編輯wixstdba)bootstrapperapplication通過ini文件讀取和設置變量或編寫自己的Extention閱讀INI文件。也許有人已經寫了一個擴展? –

回答

1

您可以編寫自己的CustomAction庫(C++或.NET),將讀取的.ini文件,分析它,並提供新的特性,以MSI引擎。

如果你必須定製刻錄引導程序和MSI使用CustomAction不能做到這一點,則必須使用WiX的BA SDK創建自己的Boostrapper應用。

+0

答案雖然不錯,但我現在用了一個看起來快得多的蝙蝠文件 –

1

由於您有一個註冊表值,請使用RegistrySearch將註冊表值讀入變量,然後使用[VariableName]來顯示該值。刻錄不支持直接讀取.ini文件。