0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プロビジョニングパッケージを使用して複数に分割されたインストーラーを実行する

Last updated at Posted at 2025-07-09

通常、プロビジョニングパッケージを使用してアプリをインストールする場合、単一のファイルであることが求められます。
ただし、世の中のインストーラーは必ずしも単一のファイルで配布されているとは限りません。

大容量でフォルダー階層になっているアプリの例

Microsoft Office Deployment Toolkit のフォルダー

この場合、下記ドキュメントには makecab コマンドを実行しパッケージングする方法が記載されていますが、そのようなファイルに限って大容量であったりフォルダー階層になっていたりと、キャビネットに収めるには一筋縄ではいかないことがあります。

Intune であれば intunewin ファイルとしてパックすればよいのですが、プロビジョニングパッケージではそうもいきません。

このドキュメントでは、純正ツールではありませんが Inno Setup を使用してインストーラーをパッケージしてみます。
サードパーティ製品を使用している時点ですでに悩ましい手順ですが、検証作業に余裕があればお試しください。

[作り始める前に] プロビジョニングパッケージの実行についての理解

ProvisoningCommands の配下には DeviceContextPrimaryContext がありますが、それぞれ一長一短あります。
Windows 構成デザイナー (8).png

DeviceContext PrimaryContext
実行されるディレクトリ ex: C:\Windows\System32\config\systemprofile\AppData\Local\Temp\ProvisioningPkgTmp\{GUID}\Commands\ ex: C:\Windows\System32\config\systemprofile\AppData\Local\Temp\ProvisioningPkgTmp\{GUID}\Commands\{連番}
追加できるファイル 複数 単一
1つのプロビジョニングパッケージ内で実行できるファイル 単一 複数
上記から考えられる利用シーン PC内のファイルを実行する、複数のファイルを1つのファイルから実行する・インストール結果は独自に管理 複数のアプリを1つずつインストールする・インストール結果(Exit Code)を管理する

このドキュメントでは、複数に分割されたインストーラーを取り扱うことが目的のため DeviceContext を前提に解説しますが、ファイルが単一の場合は PrimaryContext に読み替えて設定することも可能です。

Inno Setup を使用した場合も、2GB 以下であれば単一のファイルとして生成可能です。

ちなみにですが、ウィザードで設定できる アプリケーションの追加PrimaryContext です。
Windows 構成デザイナー.png

[作り始める前に] 実行されるアーキテクチャに注意

ProvisoningCommands で実行されるコマンドは、プログラムによっては実行されるアーキテクチャに注意が必要です。
実行されるディレクトリは C:\Windows\System32\config\systemprofile\AppData\Local\Temp\ProvisioningPkgTmp\{GUID}\Commands\ であると上記で説明しましたが、C:\Windows\System32 のディレクトリは WOW64 の仕組みによって通常のフォルダーとは異なる挙動をします。

32ビットのアプリケーション 64ビットのアプリケーション
%WinDir%\System32にアクセスした %WinDir%\SysWow64 %WinDir%\System32
強制的に%WinDir%\System32にアクセスさせたい %WinDir%\SysNative

自身でケアできる範囲であれば、カレントディレクトリを pushd %WinDir%\SysNative などによって変更することが考えられますが、今回使用する Inno Setup でコンパイルされるインストーラーは 32 ビットアプリのため、実行時にエラーとなります。
エラー.png

このため、プロビジョニングパッケージで展開されたファイルを一時的に WOW64 の影響を受けないフォルダーに逃がす必要があります。

C:\Windows\System32\config\systemprofile\AppData\Local\Temp\ProvisioningPkgTmp{GUID}\Commands\ にて実行される前提
@rem 作業フォルダーの作成
md "%WinDir%\Temp\ProvisioningPkgTmp"
@rem 展開されたファイルを作業フォルダーへ移動
move /y ..\Commands\* "%WinDir%\Temp\ProvisioningPkgTmp"
@rem カレントディレクトリを変更
pushd "%WinDir%\Temp\ProvisioningPkgTmp"
@rem サイレントインストール、パスワードを設定した場合は /password=設定したパスワード を設定する (機密性の高いファイルは別途配布方法を検討されたい)
mysetup.exe /VerySilent /SuppressMsgBoxes /NoRestart
@rem 作業フォルダーの削除
rd /s /q "%WinDir%\Temp\ProvisioningPkgTmp"
@rem プロビジョニングパッケージを削除 (OOBEは完了しない)
@rem PowerShell -ExecutionPolicy ByPass -Command "Uninstall-ProvisioningPackage -PackagePath %ProgramData%\Microsoft\Provisioning\setup.ppkg"

↓複数行をプロビジョニングパッケージでは実行できないため、下記のように1行で記述をする。

cmd /c md "%WinDir%\Temp\ProvisioningPkgTmp" & move /y ..\Commands\* "%WinDir%\Temp\ProvisioningPkgTmp" & pushd "%WinDir%\Temp\ProvisioningPkgTmp" & mysetup.exe /VerySilent /SuppressMsgBoxes /NoRestart & rd /s /q "%WinDir%\Temp\ProvisioningPkgTmp"

ここ数年、Inno Setupでアプリをパッケージして配布するのが流行りのようなので、自身で作成したインストーラー以外がインストールに失敗する場合も、同様の対策が有効だと考えられます。

使用したソフトウェア

プロジェクトのディレクトリ構造

このページではユーザープロファイル直下 (%UserProfile%\Inno Setup\プロジェクト名) に配置していますが、適宜読み替えていただいて構いません。
ex: C:\Users\Owner\Inno Setup\Setup

フォルダー階層

  • [Files] インストールに使用するファイル
  • [Output] ビルドされたインストーラー

image.png

インストーラーを準備する

ex: C:\Users\Owner\Inno Setup\Setup\Files

ここでは下記のアプリをサンプルとしてサイレントインストールを構成します。
インストーラーをダウンロードし、各フォルダーにコピーしてください。

image.png

プロビジョニングパッケージを使用してアプリをインストールしたい場合、サイレントインストールが可能なインストーラーを提供されていることが前提となります。
インストーラーに機能が備わっていたとしても、開発者がサイレントインストールされるシナリオを想定していない場合もあるため、ドキュメントやベンダーへ確認することが重要です。

インストールするアプリの使用許諾を確認し、再頒布の条項がある場合は、適合するか確認してください。

プロビジョニングパッケージをアンインストールするタスクを作成する

ex: C:\Users\Owner\Inno Setup\Setup\Files

  1. 先ほどインストーラーを保存したフォルダーと同じ場所に Tasks フォルダーを作成
  2. 下記 XML ファイルを保存します。
Uninstall-ProvisioningPackage.xml
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2025-01-01T00:00:00</Date>
    <Author>Administrator</Author>
    <URI>\Uninstall-ProvisioningPackage</URI>
  </RegistrationInfo>
  <Triggers>
    <BootTrigger>
      <Enabled>true</Enabled>
    </BootTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>S-1-5-18</UserId>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>true</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe</Command>
      <Arguments>-ExecutionPolicy ByPass -Command "$PackagePath = """$env:ProgramData\Microsoft\Provisioning\setup.ppkg"""; While ((Get-ProvisioningPackage | Where-Object PackagePath -eq $PackagePath).Count -ne 0){ Start-Sleep -Seconds 120; Uninstall-ProvisioningPackage -PackagePath $PackagePath }; schtasks.exe /Delete /tn Uninstall-ProvisioningPackage /f"</Arguments>
    </Exec>
  </Actions>
</Task>

上記のタスクは、下記コードを実行します。

Uninstall-ProvisioningPackage.xml が実行するコード
$PackagePath = "$env:ProgramData\Microsoft\Provisioning\setup.ppkg"
While ((Get-ProvisioningPackage | Where-Object PackagePath -eq $PackagePath).Count -ne 0){
    Start-Sleep -Seconds 120
    Uninstall-ProvisioningPackage -PackagePath $PackagePath
}
schtasks.exe /Delete /tn Uninstall-ProvisioningPackage

setup.ppkg が無くなるまで、2分おきにアンインストールコマンドを実行します。
ファイルが無くなったことを確認したら、タスクを消去します。

Inno Setup にてインストーラーを作成する

1. ウィザードを使用してスクリプトを作成する

  1. Create a new script file using the Script Wizard を選択して OK をクリック Welcome
  2. Next をクリック Inno Setup Script Wizard
  3. Next Inno Setup Script Wizard
  4. Allow user to change the application folder のチェックを外して Next をクリック Inno Setup Script Wizard
  5. The application doesn't havea main executable file にチェックを入れ、Add folder をクリック Inno Setup Script Wizard
  6. C:\Users\Owner\Inno Setup\Setup\Files を選択して OK をクリック フォルダーの参照
  7. はい をクリック Confirm
  8. Next をクリック Inno Setup Script Wizard
  9. Next をクリック Inno Setup Script Wizard
  10. Next をクリック Inno Setup Script Wizard
  11. Next をクリック Inno Setup Script Wizard
  12. Next をクリック Inno Setup Script Wizard
  13. Deselect all をクリック Inno Setup Script Wizard
  14. Japanese にチェックを入れてから Next をクリック Inno Setup Script Wizard
  15. Next をクリック Inno Setup Script Wizard
  16. Next をクリック Inno Setup Script Wizard
  17. Finish をクリック Inno Setup Script Wizard
  18. いいえ をクリック Inno Setup Compiler
  19. File -> Save をクリック Untitled - Inno Setup Compiler 6.4.3
  20. C:\Users\Owner\Inno Setup\Setup\Setup.iss と名前を付け、保存 をクリック 名前を付けて保存

2. スクリプトを変更する

[Setup] セクションのうち、一部変更
DefaultDirName={tmp}\{#MyAppName}\{#MyAppVersion}
[Setup]セクション末尾に追記
; アンインストールはしない
Uninstallable=No
; ウィザード画面のページを減らす
DisableReadyPage=Yes
DisableProgramGroupPage=Yes
; 64ビットOS
ArchitecturesAllowed=x64compatible
ArchitecturesInstallIn64BitMode=x64compatible
; インストーラーのサイズが2GB以上になる場合のみ
DiskSpanning=yes
; ログ保存を有効にする (%TEMP%)
SetupLogging=Yes
; パスワード保護は必要に応じて
;Encryption=Yes
;Password={#MyInstallerPassword}
[Languages]セクションの次の行から上書き
; ウィザードのフォントを変更 (HiDPI環境で読みづらいための対策)
[LangOptions]
DialogFontName=Yu Gothic UI
DialogFontSize=9
WelcomeFontName=Yu Gothic UI
WelcomeFontSize=12
TitleFontName=Yu Gothic UI
TitleFontSize=29
CopyrightFontName=Yu Gothic UI
CopyrightFontSize=9

; 必要ではないが、手動インストールも想定した構成にする場合はこのセクションで定義した Types を [Components] セクションで構成できるようになる
[Types]
Name: "full"; Description: "すべて"
Name: "compact"; Description: "最小"
Name: "custom"; Description: "カスタム"; Flags: iscustom

; 必要ではないが、手動インストールも想定した構成にする場合はこのセクションで定義した Components を[Files]、[Run] セクションで構成できるようになる
[Components]
Name: "Office"; Description: "Microsoft Office"
Name: "Office\MonthlyEnterprise"; Description: "Microsoft 365 Apps for enterprise (月次エンタープライズチャネル)"; Types: full custom; Flags: exclusive
Name: "Office\SemiAnnual"; Description: "Microsoft 365 Apps for enterprise (半期エンタープライズチャネル)"; Flags: exclusive
Name: "SevenZip"; Description: "7-Zip"; Types: full compact custom; Flags: fixed
Name: "VsCode"; Description: "Visual Studio Code"; Types: full custom

; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Files]
; まとめてコピーしたい場合
;Source: "Files\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; 必要なファイルのみをコピーしたい場合
Source: "Files\Office\MonthlyEnterprise\*"; DestDir: "{app}\Microsoft Office"; Flags: ignoreversion recursesubdirs; Components: "Office\MonthlyEnterprise"
Source: "Files\Office\SemiAnnual\*"; DestDir: "{app}\Microsoft Office"; Flags: ignoreversion recursesubdirs; Components: "Office\SemiAnnual"
Source: "Files\7-Zip\*"; DestDir: "{app}\7-Zip"; Flags: ignoreversion recursesubdirs; Components: "SevenZip"
Source: "Files\Visual Studio Code\*"; DestDir: "{app}\Visual Studio Code"; Flags: ignoreversion recursesubdirs; Components: "VsCode"
; タスク
Source: "Files\Tasks\*"; DestDir: "{app}\Tasks"; Flags: ignoreversion recursesubdirs

[Run]
Filename: "{app}\Microsoft Office\setup.exe"; Parameters: "/Configure ""{app}\Microsoft Office\構成.xml"""; WorkingDir: "{app}"; StatusMsg: "Microsoft 365 Apps for enterprise (月次エンタープライズチャネル) をインストールしています..."; Flags: RunHidden; Components: "Office\MonthlyEnterprise"
Filename: "{app}\Microsoft Office\setup.exe"; Parameters: "/Configure ""{app}\Microsoft Office\構成.xml"""; WorkingDir: "{app}"; StatusMsg: "Microsoft 365 Apps for enterprise (半期エンタープライズチャネル) をインストールしています..."; Flags: RunHidden; Components: "Office\SemiAnnual"
Filename: "{sd}\Windows\System32\msiexec.exe"; Parameters: "/Package ""{app}\7-Zip\7z2409-x64.msi"" /Passive /NoRestart"; WorkingDir: "{app}"; StatusMsg: "7-Zip をインストールしています..."; Flags: RunHidden; Components: "SevenZip"
Filename: "{app}\Visual Studio Code\VSCodeSetup-x64-1.101.2.exe"; Parameters: "/VerySilent /SuppressMsgBoxes /NoRestart /MergeTasks=!runcode"; WorkingDir: "{app}"; StatusMsg: "Visual Studio Code をインストールしています..."; Flags: RunHidden; Components: "VsCode"
; タスク
Filename: "{sd}\Windows\System32\SchTasks.exe"; Parameters: "/Create /Xml ""{app}\Tasks\Uninstall-ProvisioningPackage.xml"" /tn Uninstall-ProvisioningPackage /F"; WorkingDir: "{app}"; StatusMsg: "タスクをインポートしています..."; Flags: RunHidden
Filename: "{sd}\Windows\System32\SchTasks.exe"; Parameters: "/Run /tn Uninstall-ProvisioningPackage"; WorkingDir: "{app}"; StatusMsg: "タスクを実行しています..."; Flags: RunHidden

[InstallDelete]
; アンインストールできない代わりに一時ファイルを削除する
Type: filesandordirs; Name: "{app}\..\"

完成

全体のイメージ
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "My Program" ; ○○PC用セットアップ などわかりやすい名前を付ける
#define MyAppVersion "1.5" ; 1.20250101 など、日付が入っているとわかりやすいかも
#define MyAppPublisher "My Company, Inc." # 作成者
#define MyAppURL "https://www.example.com/" # アンインストールできないように設定するため、設定は不要
+ ;#define MyInstallerPassword "Qn7ZIpzC8M8l1" ; 使用する場合は設定する

[Setup]
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{9B4A87A6-41E0-4CB3-97F6-6762B617F613}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
- ;DefaultDirName={autopf}\{#MyAppName}
+ DefaultDirName={tmp}\{#MyAppName}\{#MyAppVersion}
DisableDirPage=yes
DefaultGroupName={#MyAppName}
; Uncomment the following line to run in non administrative install mode (install for current user only).
;PrivilegesRequired=lowest
OutputBaseFilename=mysetup
SolidCompression=yes
WizardStyle=modern
+ ; アンインストールはしない
+ Uninstallable=No
+ ; ウィザード画面のページを減らす
+ DisableReadyPage=Yes
+ DisableProgramGroupPage=Yes
+ ; 64ビットOS
+ ArchitecturesAllowed=x64compatible
+ ArchitecturesInstallIn64BitMode=x64compatible
+ ; インストーラーのサイズが2GB以上になる場合のみ
+ DiskSpanning=yes
+ ; ログ保存を有効にする (%TEMP%)
+ SetupLogging=Yes
+ ; パスワード保護は必要に応じて
+ ;Encryption=Yes
+ ;Password={#MyInstallerPassword}

[Languages]
Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl"

+ [LangOptions]
+ DialogFontName=Yu Gothic UI
+ DialogFontSize=9
+ WelcomeFontName=Yu Gothic UI
+ WelcomeFontSize=12
+ TitleFontName=Yu Gothic UI
+ TitleFontSize=29
+ CopyrightFontName=Yu Gothic UI
+ CopyrightFontSize=9

+ [Types]
+ Name: "full"; Description: "すべて"
+ Name: "compact"; Description: "最小"
+ Name: "custom"; Description: "カスタム"; Flags: iscustom

+ [Components]
+ Name: "Office"; Description: "Microsoft Office"
+ Name: "Office\MonthlyEnterprise"; Description: "Microsoft 365 Apps for enterprise (月次エンタープライズチャネル)"; Types: full custom; Flags: exclusive
+ Name: "Office\SemiAnnual"; Description: "Microsoft 365 Apps for enterprise (半期エンタープライズチャネル)"; Flags: exclusive
+ Name: "SevenZip"; Description: "7-Zip"; Types: full compact custom; Flags: fixed
+ Name: "VsCode"; Description: "Visual Studio Code"; Types: full custom

; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Files]
+ ; まとめてコピーしたい場合
+ ;Source: "Files\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
+ ; 必要なファイルのみをコピーしたい場合
+ Source: "Files\Office\MonthlyEnterprise\*"; DestDir: "{app}\Microsoft Office"; Flags: ignoreversion recursesubdirs; Components: "Office\MonthlyEnterprise"
+ Source: "Files\Office\SemiAnnual\*"; DestDir: "{app}\Microsoft Office"; Flags: ignoreversion recursesubdirs; Components: "Office\SemiAnnual"
+ Source: "Files\7-Zip\*"; DestDir: "{app}\7-Zip"; Flags: ignoreversion recursesubdirs; Components: "SevenZip"
+ Source: "Files\Visual Studio Code\*"; DestDir: "{app}\Visual Studio Code"; Flags: ignoreversion recursesubdirs; Components: "VsCode"
+ ; タスク
+ Source: "Files\Tasks\*"; DestDir: "{app}\Tasks"; Flags: ignoreversion recursesubdirs

+ [Run]
+ Filename: "{app}\Microsoft Office\setup.exe"; Parameters: "/Configure ""{app}\Microsoft Office\構成.xml"""; WorkingDir: "{app}"; StatusMsg: "Microsoft 365 Apps for enterprise (月次エンタープライズチャネル) をインストールしています..."; Flags: RunHidden; Components: "Office\MonthlyEnterprise"
+ Filename: "{app}\Microsoft Office\setup.exe"; Parameters: "/Configure ""{app}\Microsoft Office\構成.xml"""; WorkingDir: "{app}"; StatusMsg: "Microsoft 365 Apps for enterprise (半期エンタープライズチャネル) をインストールしています..."; Flags: RunHidden; Components: "Office\SemiAnnual"
+ Filename: "{sd}\Windows\System32\msiexec.exe"; Parameters: "/Package ""{app}\7-Zip\7z2409-x64.msi"" /Passive /NoRestart"; WorkingDir: "{app}"; StatusMsg: "7-Zip をインストールしています..."; Flags: RunHidden; Components: "SevenZip"
+ Filename: "{app}\Visual Studio Code\VSCodeSetup-x64-1.101.2.exe"; Parameters: "/VerySilent /SuppressMsgBoxes /NoRestart /MergeTasks=!runcode"; WorkingDir: "{app}"; StatusMsg: "Visual Studio Code をインストールしています..."; Flags: RunHidden; Components: "VsCode"
+ ; タスク
+ Filename: "{sd}\Windows\System32\SchTasks.exe"; Parameters: "/Create /Xml ""{app}\Tasks\Uninstall-ProvisioningPackage.xml"" /tn Uninstall-ProvisioningPackage /F"; WorkingDir: "{app}"; StatusMsg: "タスクをインポートしています..."; Flags: RunHidden
+ Filename: "{sd}\Windows\System32\SchTasks.exe"; Parameters: "/Run /tn Uninstall-ProvisioningPackage"; WorkingDir: "{app}"; StatusMsg: "タスクを実行しています..."; Flags: RunHidden


+ [InstallDelete]
+ ; アンインストールできない代わりに一時ファイルを削除する
+ Type: filesandordirs; Name: "{app}\..\"

3. コンパイル

  1. Build -> Compile の順にクリック
    image.png
  2. C:\Users\Owner\Inno Setup\Setup\Output フォルダーに下記のようなファイルが保存されます
    image.png

プロビジョニングパッケージの作成

  • OOBE のスキップ
  • ローカル管理者の作成
  • アプリのインストール
  1. デスクトップデバイスのプロビジョニング をクリック Windows 構成デザイナー (1).png
  2. 名前に Setup を入力してから 完了 をクリック Windows 構成デザイナー (2).png
  3. アカウント管理 をクリック Windows 構成デザイナー (3).png
  4. ユーザー名・パスワードを入力してから 詳細エディターに切り替える をクリック Windows 構成デザイナー (5).png
  5. はい をクリック Windows 構成デザイナー (6).png
  6. 実行時の設定 ツリーを展開 Windows 構成デザイナー (7).png
  7. ProvisoningCommands\DeviceContext\CommandFiles をクリック Windows 構成デザイナー (8).png
  8. 参照 をクリック Windows 構成デザイナー (9).png
  9. C:\Users\Owner\Inno Setup\Setup\Output フォルダーにあるファイルを1つずつ選択し 追加 をクリック Windows 構成デザイナー (10).png
  10. すべて追加されたことを確認する Windows 構成デザイナー (11).png
  11. ProvisoningCommands\DeviceContext\CommandLine をクリックし、cmd /c md "%WinDir%\Temp\ProvisioningPkgTmp" & move /y ..\Commands\* "%WinDir%\Temp\ProvisioningPkgTmp" & pushd "%WinDir%\Temp\ProvisioningPkgTmp" & mysetup.exe /VerySilent /SuppressMsgBoxes /NoRestart & rd /s /q "%WinDir%\Temp\ProvisioningPkgTmp" と入力 Windows 構成デザイナー (12).png
  12. エクスポート -> プロビジョニング パッケージ をクリック Windows 構成デザイナー (13).png
  13. 所有者 をクリックし IT管理者 を選択 Windows 構成デザイナー (14).png
  14. 名前、バージョンなどを適宜修正してから 次へ をクリック Windows 構成デザイナー (15).png
  15. 次へ をクリック Windows 構成デザイナー (16).png
  16. 次へ をクリック Windows 構成デザイナー (17).png
  17. ビルド をクリック Windows 構成デザイナー (18).png

ISO イメージを作成する (オプション)

Windows 構成デザイナーのプロジェクトごとISOイメージが作成されます。
ファイルを開いているとエラーとなるため、事前にWindows 構成デザイナーを閉じてください。

  1. C:\Users\Owner\Documents\Windows Imaging and Configuration Designer (WICD) フォルダーを開き、ショートカットを作成する
  2. "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\Oscdimg\oscdimg.exe" -u1 -udfver102 -m -o "-lSetupDisc" "Setup" "SetupImage.iso" と入力 ショートカットの作成.png
  3. プロパティを開き、作業フォルダーを C:\Users\Owner\Documents\Windows Imaging and Configuration Designer (WICD) に変更 oscdimg.exeのプロパティ.png
  4. oscdimg.exe.lnk を実行 oscdimg.exe.png

SetupImage.iso が作成される
image.png

プロビジョニングパッケージのインストール

すでにOOBEが完了しているPCでは、ダブルクリックでインストールが可能です。(OOBEでない場合、プロビジョニングパッケージまで生成する必要は無いと思われます)
OOBEからインストールする場合は、プロビジョニングパッケージをUSBメモリーやディスクなどにコピーしておきます。

  1. PCにメディアをマウントする OOBE (1).png
  2. 反応が無い場合は Windows キーを5回押すとこの画面が表示されるため、プロビジョニングパッケージのインストール をクリック OOBE (2).png
  3. 実行中 OOBE (3).png OOBE (4).png
  4. 下記画面が表示されることがありますが、やり直す をクリックで対処可能 OOBEPROVISONINGSTATUS

設定完了後、プロビジョニングパッケージ作成時に設定したユーザーにてサインインし、設定したアプリが期待通りインストールされていることを確認します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?