我有两个功能 . 主要功能和第二个可选功能(使用UI对话框设置的属性进行管理) .
如果我执行安装并禁用可选功能的安装,则产品将在没有可选功能的情况下安装 . (没关系)
如果我再次执行.msi并选择安装可选功能 - 它将无法安装 .
唯一的方法是我卸载产品并重新安装它,并选择此可选功能 .
我也试过了两个选项 REINSTALL=ALL
和 INSTALLMODE=AMUS
,但没有任何改变 .
这是我的WiX代码:
<Feature Id="ProductFeature" Title="MAIN" Level="1">
<ComponentGroupRef Id="MAIN_GROUP" />
</Feature>
<Feature Id="OptionalFeature" Title="OPTIONAL" Level="1">
<Condition Level="3000"><![CDATA[CHECKBOX_UI <> "1"]]></Condition>
<ComponentGroupRef Id="OPTIONAL_GROUP" />
</Feature>
有没有办法在第二次安装时添加功能,使用相同版本的安装程序?
我想在安装程序的第二次运行期间修改已安装的产品 .
这是初始自定义对话框的代码,其中我使用CTM_NEWF_Cbx复选框作为条件属性来管理组件条件安装 .
<Dialog Id="C_TypeInstallationDlg" Width="370" Height="270" Title="Bla bla bla">
<Control Type="Bitmap" Id="CTM_Bmp" Width="140" Height="235" X="0" Y="0" Text="WizardBackgroundBmp" />
<Control Type="Line" Id="CTM_Line" Width="370" Height="1" X="0" Y="235" />
<Control Type="PushButton" Id="CTM_ExitBtn" Width="56" Height="17" X="306" Y="246" Text="Cancel">
<Publish Event="EndDialog" Value="Exit" />
</Control>
<Control Type="Text" Id="CTM_WelcomeLbl" Width="200" Height="17" X="150" Y="15" Text="Bla bla bla" />
<Control Type="Text" Id="CTM_CompanyDescriptionLbl" Width="197" Height="41" X="162" Y="135" Text="Bla bla bla" />
<Control Type="Text" Id="CTM_DialogTitleLbl" Width="126" Height="23" X="9" Y="15" Text="Bla bla bla" Transparent="yes" />
<Control Type="Text" Id="CTM_ProductDescriptionLbl" Width="197" Height="44" X="162" Y="66" Text="Bla bla bla" />
<Control Type="Text" Id="CTM_InstallerDescriptionLbl" Width="124" Height="64" X="9" Y="36" Text="Bla bla bla" Transparent="yes" />
<Control Type="RadioButtonGroup" Property="TYPEMACHINE_PROP" Id="CTM_TypeMachineRbtn" Width="213" Height="120" X="153" Y="48">
<RadioButtonGroup Property="TYPEMACHINE_PROP">
<RadioButton Text="Bla bla bla" Height="17" Value="1" Width="200" X="0" Y="0" />
<RadioButton Text="Bla bla bla" Height="17" Value="2" Width="200" X="0" Y="68" />
</RadioButtonGroup>
</Control>
<Control Type="PushButton" Id="CTM_NextBtn" Width="56" Height="17" X="237" Y="246" Text="Avanti >" Default="yes">
<Publish Order="1" Event="DoAction" Value="CA_GetNextDlg">1</Publish>
<Publish Order="2" Event="NewDialog" Value="[NEXT_DIALOG]">1</Publish>
<Publish Order="3" Value="[NEXT_DIALOG]" Property="CURRENT_DIALOG">1</Publish>
</Control>
<Control Type="PushButton" Id="CTM_BackBtn" Width="56" Height="17" X="179" Y="246" Text="< Back" Disabled="yes"></Control>
<Control Type="CheckBox" Id="CTM_NEWF_Cbx" Width="212" Height="17" X="153" Y="183" Text="!!!!- THIS IS THE NEW FEATURE -!!!!!" CheckBoxValue="1" Property="INSTALL_NEW_FEATURE" />
<Control Type="Text" Id="CTM_NEWF_DetailsLbl" Width="196" Height="21" X="162" Y="205" Text="Bla bla bla" />
</Dialog>
谢谢 :)