<インストール 実 行 時 に Windows の 機 能 を 有 効 化 する 方 法 > 注 )このドキュメントは InstallShield 2014 Premier Edition を 基 に 作 成 しています InstallShield 2014 以 外 のバージョンでは 設 定 名 などが 異 なる 場 合 もあります 概 要 インストーラーの 実 行 中 に IIS(インターネット インフォメーションサービス)などの Windows の 機 能 を 有 効 化 した い 場 合 があります InstallShield の Premier Edition で 提 供 されるスイート/アドバンストUI プロジェクトでは Windows の 機 能 を 有 効 化 するための 機 能 があり 製 品 インストーラーの 実 行 時 に Windows の 機 能 を 有 効 化 することができます 一 方 Professional Edition では Windows の 機 能 を 有 効 化 するための 機 能 は 利 用 できないため 展 開 イメージの サービスと 管 理 (DISM.exe) ツール を 使 用 して コマンドをカスタムアクションから 呼 び 出 すことで インストール 時 に 有 効 化 させることが 可 能 です DISM.ツールに 関 しての 詳 細 は 以 下 をご 参 照 ください DISM を 使 って Windows の 機 能 を 有 効 または 無 効 にする https://msdn.microsoft.com/ja-jp/library/hh824822.aspx この 記 事 では それぞれの Edition で Windows の 機 能 を 有 効 化 する 方 法 を 紹 介 します A.Premier Edition のスイート/アドバンストUIプロジェクトを 使 用 する 場 合 スイート/アドバンストUI プロジェクトを 使 用 すると 製 品 自 体 のインストーラーを 変 更 することなく Windowsの 機 能 の 有 効 化 を 行 うことができます 今 回 は IIS(インターネット インフォメーションサービス) を 有 効 化 する 手 順 を 紹 介 しま す 1. スイート/アドバンスト UI プロジェクトを 作 成 します 2. 機 能 を 作 成 し 機 能 の 内 部 名 と[ 表 示 名 ]を 設 定 します ( 内 部 名 :ProductX 表 示 名 : 製 品 X など) 1/7
また 含 める.msi パッケージを 追 加 します スイートインストーラーの 基 本 的 な 作 成 方 法 Tips and Tricks(http://www.networld.co.jp/is/tips.htm)から 以 下 の 記 事 をご 参 照 ください スイートインストーラーの 基 本 的 な 作 成 方 法 http://www.networld.co.jp/is/pdf/suiteinstaller_basic.pdf 3. 追 加 したパッケージ 名 を 選 択 して [ 共 通 ]タブを 表 示 します 4. [Windows の 機 能 ] の 緑 の[+]ボタンから [インターネット インフォメーションサービス]を 選 択 します 有 効 化 したい 機 能 名 が 追 加 されたことを 確 認 します 5. ビルドして 実 行 し IIS が 有 効 化 されたことを 確 認 します 2/7
ビルトインで 提 供 されていない Windows 機 能 の 有 効 化 スイートアドバンストUIプロジェクトでは 以 下 の3つの Windows の 機 能 がビルトインでサポートされていま す インターネットインフォメーションサービス PowerShell Microsoft.NET Framework 3.x これ 以 外 の Windows 機 能 を 有 効 化 する 場 合 には [カスタム]を 選 択 したあと Windows の 機 能 名 を 直 接 入 力 します 例 )Telnet クライアントを 有 効 化 する 場 合 機 能 名 は 以 下 のような /Get-Features オプションで 確 認 することができます Dism /online /Get-Features 3/7
B.Professional Edition でカスタムアクションを 使 用 してDISMコマンドを 実 行 する 場 合 InstallShield の Professional Edition ではスイート/アドバンスト UI プロジェクトは 提 供 されていないため 方 法 A を 利 用 することができません そのため Professional Edition では 製 品 のインストーラー 自 体 にカスタムアクション などを 組 み 込 む 必 要 があります Premier Edition でも スイート/アドバンスト UI プロジェクトを 使 用 したくない 場 合 方 法 B を 利 用 できます Windows の 機 能 は 以 下 のDISM コマンドを 実 行 することで 有 効 化 できます Dism /online /enable-feature /FeatureName: < 機 能 名 > ここでは IIS(インターネット インフォメーションサービス) を 有 効 化 するコマンドを.bat ファイルに 記 述 して そのバ ッチファイルを 実 行 させることで Windows の 機 能 を 有 効 化 させる 方 法 をご 案 内 します < 基 本 の MSI/ InstallScript MSI の 場 合 > 1. バッチファイルを 作 成 します 例 :WindowsFeatureEnable.bat の 内 容 @echo off echo IIS を 有 効 化 しています このウィンドウは 閉 じないでください %windir%\system32\dism.exe /online /quiet /enable-feature /featurename:iis-webserverrole 2. 製 品 のプロジェクトを 開 き [ 動 作 とロジック]-[サポート ファイル] ビューにて [サポートファイル] のツリーを 展 開 して [ 言 語 非 依 存 ] を 選 択 します 3. [ファイル]ペインを 右 クリックして [ファイルの 挿 入 ]を 選 択 します ファイル 選 択 のダイアログで WindowsFeatureEnable.bat を 選 択 します 4. WindowsFeatureEnable.bat がサポートファイルとしてインストーラーに 追 加 されたことを 確 認 します 5. [ 動 作 とロジック]-[カスタム アクションとシーケンス]ビューを 表 示 し [カスタムアクション]アイコンを 右 クリックし て [ 新 しい EXE]-[ディレクトリを 参 照 するパス]を 選 択 します 4/7
6. カスタムアクション 名 (WindowsFeatureEnable 等 )を 指 定 し 以 下 の 設 定 を 行 います 設 定 プロパティ 名 作 業 ディレクトリ ファイル 名 とコマンドライン スクリプト 内 実 行 インストール 実 行 シーケンス インストール 実 行 条 件 設 定 内 容 SytemFolder cmd.exe /C "[SUPPORTDIR]\WindowsFeatureEnable.bat" 即 時 実 行 InstallFinalize の 後 not Installed 7. ビルドして 実 行 します コマンドの 実 行 には 管 理 者 権 限 が 必 要 なため リリースの 設 定 で[ 必 要 実 行 レベル]を[ 管 理 者 ]へ 変 更 してください インストーラーの 実 行 中 に 以 下 の 画 面 が 表 示 され IIS の 有 効 化 処 理 が 実 行 されます 5/7
<InstallScript プロジェクトの 場 合 > 1. バッチファイルを 作 成 します 例 :WindowsFeatureEnable.bat の 内 容 @echo off echo IIS を 有 効 化 しています このウィンドウは 閉 じないでください %windir%\system32\dism.exe /online /quiet /enable-feature /featurename:iis-webserverrole 2. 製 品 のプロジェクトを 開 き [ 動 作 とロジック]-[サポート ファイル/ビルボード] ビューにて [サポートファイル] のツリーを 展 開 して [ 言 語 非 依 存 ] を 選 択 します 3. [ファイル]ペインを 右 クリックして [ファイルの 挿 入 ]を 選 択 します ファイル 選 択 のダイアログで WindowsFeatureEnable.bat を 選 択 します 4. WindowsFeatureEnable.bat がサポートファイルとしてインストーラーに 追 加 されたことを 確 認 します 5. [ 動 作 とロジック]-[InstallScript] ビューで [Setup.rul] を 表 示 します 6. [イベントカテゴリ] から After Move Data を 選 択 し [イベント] から OnFirstUIAfter をクリックします 7. Setup.rul に OnFirstUIAfter イベントが 追 加 されるので 以 下 のスクリプトを 追 加 します function OnFirstUIAfter() : string szprogram, szcmdline; begin szprogram = SUPPORTDIR + "WindowsFeatureEnable.bat"; szcmdline = ""; LaunchApplication( szprogram, szcmdline,"", SW_NORMAL,INFINITE,LAAW_OPTION_WAIT); : 6/7
8. ビルドして 実 行 します コマンドの 実 行 には 管 理 者 権 限 が 必 要 なため リリースの 設 定 で[ 必 要 実 行 レベル]を[ 管 理 者 ]へ 変 更 してください インストーラーの 実 行 中 に 以 下 の 画 面 が 表 示 され IIS の 有 効 化 処 理 が 実 行 されます 以 上 7/7