通常、プロビジョニングパッケージを使用してアプリをインストールする場合、単一のファイルであることが求められます。
ただし、世の中のインストーラーは必ずしも単一のファイルで配布されているとは限りません。
大容量でフォルダー階層になっているアプリの例
この場合、下記ドキュメントには makecab
コマンドを実行しパッケージングする方法が記載されていますが、そのようなファイルに限って大容量であったりフォルダー階層になっていたりと、キャビネットに収めるには一筋縄ではいかないことがあります。
Intune であれば intunewin ファイルとしてパックすればよいのですが、プロビジョニングパッケージではそうもいきません。
このドキュメントでは、純正ツールではありませんが Inno Setup を使用してインストーラーをパッケージしてみます。
サードパーティ製品を使用している時点ですでに悩ましい手順ですが、検証作業に余裕があればお試しください。
[作り始める前に] プロビジョニングパッケージの実行についての理解
ProvisoningCommands
の配下には DeviceContext
と PrimaryContext
がありますが、それぞれ一長一短あります。
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
です。
[作り始める前に] 実行されるアーキテクチャに注意
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 ビットアプリのため、実行時にエラーとなります。
このため、プロビジョニングパッケージで展開されたファイルを一時的に WOW64
の影響を受けないフォルダーに逃がす必要があります。
@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でアプリをパッケージして配布するのが流行りのようなので、自身で作成したインストーラー以外がインストールに失敗する場合も、同様の対策が有効だと考えられます。
使用したソフトウェア
- Windows ADK (最低限必要なソフトウェアは下記の通り): https://learn.microsoft.com/ja-jp/windows-hardware/get-started/adk-install
- Inno Setup: https://jrsoftware.org/isdl.php
プロジェクトのディレクトリ構造
このページではユーザープロファイル直下 (%UserProfile%\Inno Setup\プロジェクト名) に配置していますが、適宜読み替えていただいて構いません。
ex: C:\Users\Owner\Inno Setup\Setup
フォルダー階層
- [Files] インストールに使用するファイル
- [Output] ビルドされたインストーラー
インストーラーを準備する
ex: C:\Users\Owner\Inno Setup\Setup\Files
ここでは下記のアプリをサンプルとしてサイレントインストールを構成します。
インストーラーをダウンロードし、各フォルダーにコピーしてください。
- [7-Zip] https://www.7-zip.org/download.html
- [Office] https://learn.microsoft.com/ja-jp/microsoft-365-apps/deploy/overview-office-deployment-tool
- [Visual Studio Code] https://code.visualstudio.com/Download
プロビジョニングパッケージを使用してアプリをインストールしたい場合、サイレントインストールが可能なインストーラーを提供されていることが前提となります。
インストーラーに機能が備わっていたとしても、開発者がサイレントインストールされるシナリオを想定していない場合もあるため、ドキュメントやベンダーへ確認することが重要です。
インストールするアプリの使用許諾を確認し、再頒布の条項がある場合は、適合するか確認してください。
プロビジョニングパッケージをアンインストールするタスクを作成する
ex: C:\Users\Owner\Inno Setup\Setup\Files
- 先ほどインストーラーを保存したフォルダーと同じ場所に
Tasks
フォルダーを作成 - 下記 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>
上記のタスクは、下記コードを実行します。
$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. ウィザードを使用してスクリプトを作成する
-
Create a new script file using the Script Wizard
を選択してOK
をクリック -
Next
をクリック -
Next
-
Allow user to change the application folder
のチェックを外してNext
をクリック -
The application doesn't havea main executable file
にチェックを入れ、Add folder
をクリック -
C:\Users\Owner\Inno Setup\Setup\Files
を選択してOK
をクリック -
はい
をクリック -
Next
をクリック -
Next
をクリック -
Next
をクリック -
Next
をクリック -
Next
をクリック -
Deselect all
をクリック -
Japanese
にチェックを入れてからNext
をクリック -
Next
をクリック -
Next
をクリック -
Finish
をクリック -
いいえ
をクリック -
File
->Save
をクリック -
C:\Users\Owner\Inno Setup\Setup\
にSetup.iss
と名前を付け、保存
をクリック
2. スクリプトを変更する
DefaultDirName={tmp}\{#MyAppName}\{#MyAppVersion}
; アンインストールはしない
Uninstallable=No
; ウィザード画面のページを減らす
DisableReadyPage=Yes
DisableProgramGroupPage=Yes
; 64ビットOS
ArchitecturesAllowed=x64compatible
ArchitecturesInstallIn64BitMode=x64compatible
; インストーラーのサイズが2GB以上になる場合のみ
DiskSpanning=yes
; ログ保存を有効にする (%TEMP%)
SetupLogging=Yes
; パスワード保護は必要に応じて
;Encryption=Yes
;Password={#MyInstallerPassword}
; ウィザードのフォントを変更 (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. コンパイル
プロビジョニングパッケージの作成
- OOBE のスキップ
- ローカル管理者の作成
- アプリのインストール
-
デスクトップデバイスのプロビジョニング
をクリック - 名前に
Setup
を入力してから完了
をクリック -
アカウント管理
をクリック - ユーザー名・パスワードを入力してから
詳細エディターに切り替える
をクリック -
はい
をクリック -
実行時の設定
ツリーを展開 -
ProvisoningCommands\DeviceContext\CommandFiles
をクリック -
参照
をクリック -
C:\Users\Owner\Inno Setup\Setup\Output
フォルダーにあるファイルを1つずつ選択し追加
をクリック - すべて追加されたことを確認する
-
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"
と入力 -
エクスポート
->プロビジョニング パッケージ
をクリック -
所有者
をクリックしIT管理者
を選択 - 名前、バージョンなどを適宜修正してから
次へ
をクリック -
次へ
をクリック -
次へ
をクリック -
ビルド
をクリック
ISO イメージを作成する (オプション)
Windows 構成デザイナーのプロジェクトごとISOイメージが作成されます。
ファイルを開いているとエラーとなるため、事前にWindows 構成デザイナーを閉じてください。
-
C:\Users\Owner\Documents\Windows Imaging and Configuration Designer (WICD)
フォルダーを開き、ショートカットを作成する -
"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"
と入力 - プロパティを開き、作業フォルダーを
C:\Users\Owner\Documents\Windows Imaging and Configuration Designer (WICD)
に変更 -
oscdimg.exe.lnk
を実行
プロビジョニングパッケージのインストール
すでにOOBEが完了しているPCでは、ダブルクリックでインストールが可能です。(OOBEでない場合、プロビジョニングパッケージまで生成する必要は無いと思われます)
OOBEからインストールする場合は、プロビジョニングパッケージをUSBメモリーやディスクなどにコピーしておきます。
- PCにメディアをマウントする
- 反応が無い場合は
Windows
キーを5回押すとこの画面が表示されるため、プロビジョニングパッケージのインストール
をクリック - 実行中
- 下記画面が表示されることがありますが、
やり直す
をクリックで対処可能
設定完了後、プロビジョニングパッケージ作成時に設定したユーザーにてサインインし、設定したアプリが期待通りインストールされていることを確認します。