通过Installshield启用Windows功能\角色

时间:2015-07-15 14:27:15

标签: c# installshield installshield-2014

我们的应用程序支持OS'Windows server 2012 R2'。我们有一个应用程序,我们需要启用“应用程序初始化”功能。我们使用Installshield 2014来制作应用程序的安装程序。 我找到了检查任何Windows功能状态的实现。 我尝试了下面的代码,它给了我安装功能的列表:

 fm <- substitute(i ~ class, list(i = as.name('var1')))
 oneway.test(fm, example)

    One-way analysis of means (not assuming equal variances)

data:  var1 and class
F = 19.2, num df = 1, denom df = 6, p-value = 0.004659

 lm(fm, example)

Call:
lm(formula = fm, data = example)

Coefficients:
(Intercept)       class2  
        2.5          4.0  

 aov(fm, example)
Error in terms.default(formula, "Error", data = data) : 
  no terms component nor attribute

我的问题是:在installshield中是否有内置功能来启用Windows功能?或者我们需要为此编写任何自定义操作。 如果我们需要编写自定义操作,那么如何通过c#代码启用Windows功能。

任何人都可以帮我这个。

感谢您的期待。

1 个答案:

答案 0 :(得分:2)

据我所知,Windows角色的安装&amp;功能仅适用于InstallShield AdvancedUI和Suite项目。

相反,您可以通过识别注册表中的功能安装状态并使用批处理脚本手动启用所需功能来创建自己的安装先决条件。

例如,我们为MSMQ先决条件做了同样的事情: 相应的注册表为HKLM\SOFTWARE\Microsoft\MSMQ\Setup,要检查的条目为msmq_CoreInstalled == 1

批处理文件包含调用

%SystemRoot%\sysnative\dism /online /Enable-Feature /FeatureName:MSMQ-Server /all

和一些眼睛糖果。

此解决方案目前适用于目前为止所测试的所有Windows系统(即Windows 7/8 / 8.1和Server 2008R2 / 2012.