4

InstallShield セットアップを介して Windows Server 2012 で IIS をアクティブ化したいと考えています。次のDISMコマンドを試しました:

DISM.EXE /enable-feature /online /featureName:IIS-WebServerRole /featureName:IIS-WebServer

ここで説明: IIS 8.5 を Windows Server 2012 R2 にインストールする

セットアップを実行すると、次のエラーが発生します。

エラー 1721

プロセス モニターは、DISM が実行されC:\Windows\SysWOW64\DISM.EXE、結果がExit Status 11. 私が使用したファイルの場所として[SystemFolder]. ファイルの場所を定義するC:\Windows\System32と、 も使用されC:\Windows\SysWOW64\DISM.EXEます。

IIS を有効にするのが難しい方法は何ですか?

4

1 に答える 1

2

この投稿によると、エラー コード 11 は、32 ビット バージョンのDISMが 64 ビット システムで使用されていることを示します。これは、64 ビット システムに 32 ビット MSI をインストールし、それを使用して DISM を見つけて起動することに相当します。Windows インストーラーでは、32 ビット MSI から 64 ビットの場所を参照できません。Heath Stewart の記事Different Packages are Required for Different Processor Architecturesでこれに触れていますが、主に 32 ビットまたは 64 ビットの場所へのインストールの観点からです。結局のところ、そこにあるファイルを見つけるのも同様に困難です。

64 ビットの場所から 64 ビットの DISM を起動するには、他のコードが必要になります。32 ビット コードから 64 ビット システム フォルダーを見つけることは可能かもしれませんが、一部の 64 ビットの場所は 64 ビット コードでしか正しくクエリできないことがわかっています。そのため、64 ビットのヘルパー exe を作成して、64 ビットの DISM を見つけて起動することをお勧めします。VersionNT64次に、64 ビット システムで 64 ビット ラッパーのみを使用し (が定義されている場合)、32 ビット システムで 32 ビット ラッパーまたは直接呼び出しを使用するように、カスタム アクションの 2 つのバリアントが必要になります。

別の方法として、アップグレードして exe を使用することがオプションである場合、InstallShield 2013 以降には、スイート プロジェクト タイプの一部として Windows 機能のインストールのサポートが含まれているため、この作業が自動的に処理されます。(免責事項: 私は InstallShield の作業に対して報酬を受けています。)

于 2014-03-06T14:09:14.963 に答える