Tom*_*ech 6 windows-installer wix bootstrapper msiexec
我们正在尝试使用自定义.NET Bootstrapper通过我们的WiX安装程序有选择地在MSI包中安装功能.
注册到PlanMsiFeature活动后,我们认为我们可以访问MSI中的功能,并根据预设条件排除某些功能.但是,该事件似乎从未被调用过.有没有人设法成功使用此活动?
非常感谢.
我们解决了这个问题.有几个关键项目缺失.
1)在包含我们的应用程序的Bundle中,MSI Package需要以下属性.
EnableFeatureSelection="yes"
Run Code Online (Sandbox Code Playgroud)
2)在托管引导程序应用程序中,我们将安装条件(状态)设置为Absent,因为我们不希望安装该功能.这里缺少的部分是我们希望安装的所有项目都需要为其状态设置Local,因为Unknown会导致安装所有项目.
void CustomBA_PlanMsiFeature(object sender, PlanMsiFeatureEventArgs e)
{
if (e.FeatureId == "FEATURE_TO_EXCLUDE")
e.State = m_installFeature ? FeatureState.Local : FeatureState.Absent;
else
e.State = FeatureState.Local;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1956 次 |
最近记录: |