0

さまざまな必要な Windows 機能のインストール状態をテストするために、組み込みの powershell スクリプトを実行する CustomAction を実行するインストーラーがあります。これは正しく機能しますが、完了するのが非常に遅くなります。

そのような機能をテストする別の方法はありますか? 各機能とサブ機能のレジストリ キーの行に沿って何かがあると思いますが、この件に関するドキュメントは見つかりませんでした。

4

2 に答える 2

4

インストール プロジェクトの 1 つで、必要な Windows 機能を有効にするためにdism.exeを使用しました。

たとえば、IIS 8 で ASP.NET を有効にするには、次のカスタム アクションを使用します。

<!-- 32-bit edition of Windows knows where to find dism.exe -->
<Property Id="DISMEXEPATH" Value="dism.exe" />

<!-- 64-bit edition of Windows requires this workaround to get proper dism.exe version -->
<SetProperty Id="DISMEXEPATH" Value="[WindowsFolder]Sysnative\dism.exe" After="AppSearch">VersionNT64</SetProperty>

<!-- And the CA to do the job (with the help of [quiet execution CA][2]) -->
<CustomAction Id="SetForEnableAspNetIIS8" Property="EnableAspNetIIS8" Value="&quot;[DISMEXEPATH]&quot; /norestart /quiet /online /enable-feature /featurename:IIS-ApplicationDevelopment /featurename:IIS-ASPNET45 /featurename:IIS-NetFxExtensibility45 /featurename:NetFx4Extended-ASPNET45 /featurename:IIS-ISAPIExtensions /featurename:IIS-ISAPIFilter" />
<CustomAction Id="EnableAspNetIIS8" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="check"/>

これは良い習慣ではないようですが、そのプロジェクトではうまくいきました。

于 2013-09-25T06:24:38.457 に答える