我目前正在學習有關爲我們工作的軟件應用程序設置MSI軟件包的WiX工具。Wix - 基於單選按鈕的功能的有條件安裝
作爲安裝的一部分,我想要做的事情之一是提供要安裝的特定文件的選擇,並且我將打開一個單選按鈕列表的對話框,允許用戶選擇所需的選項。
這裏是我使用
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi' xmlns:iis='http://schemas.microsoft.com/wix/IIsExtension'>
<Product Id='E22E3B45-CFA6-4F4E-9D37-AA95A3684522' Name='Test Install' Language='1033'
Version='1.0.0.0' Manufacturer='Microsoft Corporation' UpgradeCode='E22E3B45-CFA6-4F4E-9D37-AA95A3684522'>
<Package Description='Test Installer Package'
Comments='Install Test'
Manufacturer='Microsoft Corporation' InstallerVersion='200' Compressed='yes' />
<Media Id='1' Cabinet='testinstall.cab' EmbedCab='yes' />
<Directory Id='TARGETDIR' Name='SourceDir'>
<Directory Id='dir_temp' Name='Temp'>
<Component Id='component_dir_root1' Guid='A51094B8-552F-49C4-9E5C-36815D471913'>
<File Id='file_readme.txt' Name='readme.txt' DiskId='1' Source='root/readme.txt' />
</Component>
<Component Id='component_dir_root2' Guid='A51094B8-552F-49C4-9E5C-36815D471914'>
<File Id='file_readme2.txt' Name='readme2.txt' DiskId='1' Source='root/readme2.txt' />
</Component>
</Directory>
</Directory>
<Feature Id='feature_test' Title='Test Features' Level='1'>
<Feature Id='feature_dir_root1' Level='1'>
<ComponentRef Id='component_dir_root1' />
<Condition Level="0"><![CDATA[RootType <> "1"]]></Condition>
</Feature>
<Feature Id='feature_dir_root2' Level='1'>
<ComponentRef Id='component_dir_root2' />
<Condition Level="0"><![CDATA[RootType <> "2"]]></Condition>
</Feature>
</Feature>
<UI>
<Property Id="DefaultUIFont">DlgFont8</Property>
<Dialog Id="InstallDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
<Control Id="Buttons" Type="RadioButtonGroup" X="20" Y="187" Width="330" Height="40" Property="RootType" />
<Control Id="Install" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Text="Install">
<Publish Event="EndDialog" Value="Return" />
</Control>
</Dialog>
<RadioButtonGroup Property="RootType">
<RadioButton Text="{\DlgFont8}Root 1"
Value="1" X="5" Y="0" Width="250" Height="15" />
<RadioButton Text="{\DlgFont8}Root2"
Value="2" X="5" Y="20" Width="250" Height="15" />
</RadioButtonGroup>
<TextStyle Id="DlgFont8" FaceName="Tahoma" Size="8" />
<InstallUISequence>
<Show Dialog="InstallDlg" After="CostFinalize" />
</InstallUISequence>
</UI>
<Property Id="RootType">2</Property>
</Product>
</Wix>
所以WXS文件,存在兩個特點。每個對應於表示文件的單個組件。單選按鈕鏈接到一個RootType屬性,我想控制哪個功能被安裝。
對話框顯示正常,如果我改變RootType的默認值,則在顯示安裝窗體時總是檢查正確的單選按鈕。但是,如果用戶在安裝過程中選擇了不同的單選按鈕,則實際上並沒有區別安裝哪個文件。安裝的文件始終是設置爲RootType屬性的初始值的文件。
在安裝功能之前是否還需要做其他事情才能讓單選按鈕更新屬性?
嘿,你可以添加你的更新代碼,並解釋你是怎麼做到的? – Sakthivel 2014-09-23 14:35:38