gpt4 book ai didi

c# - 通过 Installshield 启用 Windows Feature\Role

转载 作者:太空狗 更新时间:2023-10-30 01:34:15 25 4
gpt4 key购买 nike

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

ManagementClass objMC = new ManagementClass("Win32_ServerFeature");
ManagementObjectCollection objMOC = objMC.GetInstances();
string featureName = string.Empty;
var AppInitFeature = (from ManagementObject objectFeature in objMOC
where objectFeature.Properties["Name"].Value.ToString() == "Application Initialization"
select objectFeature).First();

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

谁能帮我解决这个问题。

感谢期待。

最佳答案

据我所知,windows roles & features 的安装仅适用于 InstallShield AdvancedUI 和 Suite 项目。

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

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

批处理文件包含调用

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

还有一些养眼的东西。

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

关于c# - 通过 Installshield 启用 Windows Feature\Role,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31433204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com