4

OS「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();

ここで私の質問は次のとおりです。Windows機能を有効にする組み込み機能はinstallshieldにありますか? または、そのためのカスタム アクションを記述する必要があります。 カスタム アクションを作成する必要がある場合は、C# コードを使用して Windows 機能を有効にする方法について説明します。

誰でもこれについて私を助けることができますか?

ありがとうございます。

4

1 に答える 1

3

私の知る限り、Windows の役割と機能のインストールは、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.

于 2015-09-03T06:17:31.523 に答える