DISM を使用したアプリのサイドローディング
PowerShell または展開イメージのサービスと管理 (DISM) を使用して、LOB (Line-of-Business) ユニバーサル Windows アプリをサイドロードできます。 Windows アプリには次のものが含まれます。
通常、Windows アプリは Microsoft Store からのみ入手できます。 LOB Windows アプリを Microsoft Store に送信して、企業外で利用できるようにすることができます。 ただし、企業内でのみ使用する Windows アプリを開発し、それらをサイドローディングと呼ばれるプロセスを通じて管理する Windows デバイスに追加することもできます。 サイドロードされたアプリは、Microsoft Store によって認定またはインストールされる必要はありません。
アプリをサイドロードするために知っておく必要があることを次に示します。
方法 | 説明 |
---|---|
アプリのサイドロードについて知っておく必要がある基本的な概念について説明します。 |
|
さまざまな Windows エディションを実行しているデバイスでアプリをサイドローディングするために満たす必要のある要件を示します。 グループ ポリシーを使用して、アプリをサイドローディングするようにエンタープライズ PC を構成する方法が含まれています。 |
|
有効期限が切れない開発者ライセンスを持つように PC を構成する方法について説明します。 PC を使用して、エンタープライズ デバイスに追加される Microsoft Store アプリまたはエンタープライズ アプリを開発できます。 |
|
開発したアプリをサイドローディングする方法を示します。 |
|
多言語イメージを準備し、イメージにサインインし、必要なアプリ リソース パック (言語を含む) をインストールしてから、[プロファイルのコピー] を使用してイメージをキャプチャする方法を示します。 |
|
企業内のデバイスまたはオフラインの Windows イメージにインストールされている LOB アプリを一覧表示する方法を示します。 |
|
アプリの個々のインスタンスを削除する方法、またはアプリのプロビジョニング設定を削除する方法を示します。 |
サイドローディングの概念の理解
Windows アプリは、そのデザインとユーザーがそれらを操作する方法が Windows デスクトップ アプリケーションとは異なります。 Windows アプリについて詳しくは、「Microsoft Store アプリとは」を参照してください。
Microsoft Store からダウンロードしたアプリをサイドロードすることはできません。 ビジネス ラインの一部ではない Windows アプリをインストールするには、Microsoft Store を使用する必要があります。 詳細については、「Microsoft ストアへのクライアント アクセスの管理」を参照してください。
Microsoft Store によって署名されていない LOB Windows アプリは、ユーザーごとに実行時にスクリプトを使用して、サイドロードしたり、企業内の PC に追加したりできます。 また、企業がイメージでプロビジョニングして、PC で作成された新しいユーザー プロファイルごとにアプリを登録することもできます。 ユーザーごとまたはイメージ内のアプリをサイドロードするための要件は同じですが、アプリの追加、取得、および削除に使用する Windows PowerShell コマンドレットは異なります。 このトピックでは、両方のメソッドの手順について説明します。
Microsoft Store によって署名されていない LOB Windows アプリをサイドローディングする前に、PC を構成する必要があります。「サイドローディング要件に合わせて PC を構成する」を参照してください。
企業向けのLOB Windowsアプリを開発している場合
Microsoft Store によって署名されていない LOB Windows アプリは、暗号で署名されている必要があります。 アプリは、署名証明書を信頼するコンピューターにのみインストールできます。
アプリに署名する方法と証明書を使用する方法の詳細については、「アプリのパッケージ化ツール」を参照してください。
ただし、開発者ライセンスを使用して、開発中のアプリを PC に追加できます。 開発中のアプリのテストの詳細については、「開発者ライセンスを取得」を参照してください。
ドメインに参加グループ ポリシーを使用して、アプリ開発をサポートするために期限切れではない開発者ライセンスを持つよう、ドメインに参加している PC を構成できます。 PCを構成したら、ライセンスを取得または更新するためにインターネットに接続する必要はありません。 詳しくは、「Microsoft Store アプリを開発するための PC の構成」を参照してください。
サイドローディング要件に合わせて PC を構成する
デバイスがすべてのサイドローディング要件を満たすまで、[スタート] メニューのアプリ タイルの右下隅に、アプリの実行を妨げている問題を示す "X" が表示されます。
場合によっては、これらの要件の一部として、サイドローディング プロダクト キーを使用して、パブリック Microsoft Store からアプリをインストールせずにアプリをデバイスに直接展開するために必要な使用権説明書を提供することが含まれます。
Microsoft Store によって署名されていないサイドロードされた LOB Windows アプリを追加して実行するには、次の条件に基づいてデバイスを構成する必要があります。
ワークグループに参加しているデバイスの場合は、次の手順を実行する必要があります。
デバイスでサイドローディング プロダクト キーをアクティブ化します。
次に、[信頼できるすべてのアプリケーションのインストールを許可する] グループ ポリシーの設定を有効にします。 「グループ ポリシーを使用して、アプリをサイドローディングするようにエンタープライズ PC を構成する」を参照してください。
この方法は、次の対象に適用されます。
- Windows 10 Enterprise
- Windows 8.1 Enterprise
- Windows 8 Enterprise
- Windows Embedded 8.1 Industry Enterprise
- Windows 8.1 Pro Update
Active Directory ドメインに参加するデバイスの場合は、次の手順を実行する必要があります。
デバイスをActive Directoryドメインに参加させます。
次に、[信頼できるすべてのアプリケーションのインストールを許可する] グループ ポリシーの設定を有効にします。 「グループ ポリシーを使用して、アプリをサイドローディングするようにエンタープライズ PC を構成する」を参照してください。
この方法は、次の対象に適用されます。
- Windows 10 Enterprise
- Windows 8.1 Enterprise
- Windows 8 Enterprise
- Windows Embedded 8.1 Industry Enterprise
- Windows 8.1 Pro Update
- Windows Server 2016 Technical Preview
- Windows Server 2012 R2 Update
- Windows Server 2012
サイドローディング プロダクト キーを必要とするデバイスの場合、デバイスがドメインに参加しているか、ワークグループのメンバーであるかに関係なく、次の操作を行う必要があります。
デバイスでサイドローディング プロダクト キーをアクティブ化します。
次に、[信頼できるすべてのアプリケーションのインストールを許可する] グループ ポリシーの設定を有効にします。 「グループ ポリシーを使用して、アプリをサイドローディングするようにエンタープライズ PC を構成する」を参照してください。
この方法は、次の対象に適用されます。
- Windows 10 Pro
- Windows RT 8.1
- Windows 8.1 Pro
- Windows RT
- Windows 8 Pro
- Windows Embedded 8.1 Industry Pro
特定の Windows Embedded 8 Industry デバイスでは、デバイスがドメインに参加しているか、ワークグループのメンバーである場合でも、サイドローディング プロダクト キーは不要になります。 この場合は、次を実行する必要があります。
- デバイス上で [信頼できるすべてのアプリケーションのインストールを許可する] グループ ポリシーの設定を有効にします。
Windows Embedded 8 Industry でのサイドローディングの詳細については、「Windows Embedded 8 Industry にユニバーサル Windows 8 アプリをインストールするためのエンタープライズ ガイド」を参照してください。
この方法は、次の対象に適用されます。
- Windows Embedded 8.1 Industry Pro Update
- Windows Embedded 8.1 Industry Enterprise Update
グループ ポリシーを使用して、アプリをサイドローディングするようにエンタープライズ PC を構成する
次に示すように、選択したPcにグループポリシー設定を適用するドメインベースのグループポリシーオブジェクト (GPO) のグループポリシー管理エディターを開きます。
Note
この手順で提供される手順は、グループ ポリシーの設計と操作の基本を理解していることを前提としています。 ドメインベースのグループポリシーを管理するには。 リモート サーバー管理ツール オンデマンド機能 とともにインストールされるグループ ポリシー管理コンソールをインストールする必要があります。 グループ ポリシーの詳細については、「初心者向けのグループ ポリシー」および「グループ ポリシーの TechCenter」を参照してください。
[コンピューターの構成]、[管理用テンプレート]、[Windows コンポーネント]、[アプリ パッケージの展開] の順にクリックして展開します。
[信頼できるすべてのアプリのインストールを許可する] の設定をダブルクリックします。
[信頼できるすべてのアプリのインストールを許可する] ウィンドウで、[有効] をクリックしてから、[OK] をクリックします。
信頼できるアプリケーションが HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Appx\AllowAllTrustedApps = 1
レジストリ キーを更新できるようにグループ ポリシーを設定する。
サイドローディング プロダクト キーをアクティブ化するには
管理者特権でコマンド プロンプトを開き、次のように入力して、サイドローディング プロダクト キーを追加します。
Slmgr /ipk <sideloading product key>
ここで、
<sideloading product key>
はコンピューターでサイドローディングを有効にするための 25 桁のキーです。次のように入力して、サイドローディング キーをアクティブ化します。
slmgr /ato ec67814b-30e6-4a50-bf7b-d55daf729d1e
Note
アクティベーション GUID がサイドローディング プロダクト キーと同じではありません。 アクティベーション GUID は常に ec67814b-30e6-4a50-bf7b-d55daf729d1e になります。
Windows アプリを開発するための PC の構成
有効期限のない開発者ライセンスを持つように PC を構成することができます。 PCを構成したら、ライセンスを取得または更新するためにインターネットに接続する必要はありません。 コンピューターがドメインのメンバーであり、次のいずれかのオペレーティング システムで実行されている必要があります。
- Windows 10 Enterprise
- Windows 8.1 Enterprise
- Windows 8 Pro
Note
Windows 8 Pro デバイスでサイドローディングを有効にするには、サイドローディング製品のライセンス認証キーを使用する必要があります。 詳細については、「サイドローディング要件に合わせて PC を構成する」を参照してください
開発者ライセンスを持つようにエンタープライズ PC を構成するには
次に示すように、選択したPcにグループポリシー設定を適用するドメインベースのグループポリシーオブジェクト (GPO) のグループポリシー管理エディターを開きます。
Note
この手順で提供される手順は、グループ ポリシーの設計と操作の基本を理解していることを前提としています。 ドメインベースのグループポリシーを管理するには。 リモート サーバー管理ツール オンデマンド機能 とともにインストールされるグループ ポリシー管理コンソールをインストールする必要があります。 グループ ポリシーの詳細については、「初心者向けのグループ ポリシー」および「グループ ポリシーの TechCenter」を参照してください。
[コンピューターの構成]、[管理用テンプレート]、[Windows コンポーネント]、[アプリ パッケージの展開] の順にクリックして展開します。
[開発者用ライセンスをインストールしなくても Windows アプリの開発を許可する] の設定をダブルクリックします。
[開発者用ライセンスをインストールしなくても Windows アプリの開発を許可する] ウィンドウで、[有効] をクリックしてから、[OK] をクリックします。
[信頼できるすべてのアプリのインストールを許可する] の設定をダブルクリックします。
[信頼できるすべてのアプリのインストールを許可する] ウィンドウで、[有効] をクリックしてから、[OK] をクリックします。
開発者ライセンスをインストールしなくても Windows アプリの開発を許可するようにグループ ポリシーを設定すると、HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Appx\AllowDevelopmentWithoutDevLicense = 1
レジストリ キーが更新されます。
信頼できるアプリケーションが HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Appx\AllowAllTrustedApps = 1
レジストリ キーを更新できるようにグループ ポリシーを設定する。
アプリの追加
アプリを追加する 2 つの方法があります。 ユーザーはアプリ パッケージを追加できます。これにより、そのユーザーのみがアプリを使用できるようになります。 または、アプリを Windows イメージにインストールすると、ユーザー アカウントが既に作成されている場合は、最初のログオン時または次回のログオン時に Windows イメージのすべてのユーザーがアプリを使用できるようになります。 この 2 番目のケースは、「アプリ パッケージのプロビジョニング」と呼ばれています。
アプリ パッケージを追加する
add-appxpackage PowerShell コマンドレットを使用して、ユーザーごとにアプリ パッケージ (.appx または .appxbundle) をインストールできます。 各ユーザーに追加できる LOB アプリの数に制限はありません。
ユーザー アカウントを LOB アプリに追加する
Windows PowerShell で、.appx (または .appxbundle) ファイル パッケージを追加します。 アプリを追加するときに、必要な依存関係アプリ パッケージを含めます。 たとえば、次のように入力します。
add-appxpackage C:\app1.appx -DependencyPath C:\winjs.appx
詳細については、「Windows PowerShell のアプリ インストール コマンドレット」を参照してください。
Windows イメージにプロビジョニングされた LOB アプリを追加する
Windows イメージにインストールされるアプリは、プロビジョニングされたアプリと呼ばれます。 プロビジョニングされたアプリはイメージにステージングされ、ユーザー アカウントが既に作成されている場合は、最初のログオン時または次回のログオン時に Windows イメージのすべてのユーザーにインストールされるようにスケジュールされます。
DISM アプリ プロビジョニング コマンドを使用して、イメージを展開する前に監査モードで起動するときに、これらのアプリを Windows イメージに追加できます。 監査モードの詳細については、監査モードの概要に関するページを参照してください。
プロビジョニングされたアプリは PC に固有であり、ユーザーとローミングしません。 イメージには、プロビジョニングされた 24 個のアプリのみをインストールできます。
既にデプロイされている Windows イメージでは、代わりに PowerShell で Add-AppxPackage コマンドレットを使用する必要があります。 アクティブなユーザーを持つデプロイされた Windows イメージで DISM アプリ プロビジョニング コマンドを使用する場合は、コマンドを実行する前に、すべてのユーザーをイメージからログオフして、ログオンしている唯一のユーザーになるようにする必要があります。
Windows イメージにプロビジョニングされた LOB アプリを追加する
展開イメージのサービスと管理 (DISM) コマンドライン ツールまたは PowerShell コマンドレットを使用して、Microsoft Store ライセンスなしで LOB アプリを追加します。 たとえば、管理者特権でのコマンド プロンプトで、次のように入力します。
DISM /Online /Add-ProvisionedAppxPackage /PackagePath:C:\App1.appx /SkipLicense
または、Windows PowerShell プロンプトで、次のように入力します。
Add-AppxProvisionedPackage -Online -FolderPath C:\Appx -SkipLicense
詳細については、「DISM アプリ パッケージ (.appx または .appxbundle) によるコマンドライン オプションのサービス」または「DISM コマンドレット」を参照してください。 DISM でサポートされるプラットフォームについて詳しくは、「DISM でサポートされるプラットフォーム」をご覧ください。
Note
プロビジョニングした LOB アプリをインストールする前に、コンピューターをドメインに参加させたり、サイドローディングのプロダクト キーをライセンス認証したりする必要はありません。 ただし、コンピューターがこのサイドローディング要件を満たすまで、アプリは実行されません。 詳細については、「スタート画面をカスタマイズする」をご覧ください。
プロビジョニングされた LOB アプリが Windows イメージに追加されたら更新する
プロビジョニングされたアプリを更新するには、アプリでプロビジョニングされた Windows イメージにサインオンしたユーザーごとにアプリを更新する必要があります。
Windows イメージにプロビジョニングされた LOB アプリを更新する
PowerShell を使用して、Microsoft Store ライセンスなしで LOB アプリを更新します。 これは、Windows イメージを実行している PC にサインインしているユーザーごとに実行する必要があります。 たとえば、アプリの元のバージョン 1.0.0.0 をインストールしていて、バージョン 1.0.0.1 に更新する必要がある場合は、PowerShell セッションで次のように入力します。
Add-AppxPackage -Path App1_1.0.0.2 -DependencyPath C:\appx\WinJS.appx
ここで、
c:\appx\WinJS.appx
は、依存関係パッケージのパスです。アプリを更新すると、更新されたアプリのバージョンを確認できます。 PowerShell セッションから、次のように入力します。
Get-AppxPackage | Out-GridView
アプリに複数の言語を追加する
多言語イメージを準備するには、イメージにサインインし、必要なアプリ リソース パック (言語を含む) をインストールしてから、[プロファイルのコピー] を使用してイメージをキャプチャします。
アプリ向けの多言語イメージの準備
次の内容の unattend.xml を c:\unattend.xml に作成します。
<?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="specialize"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <CopyProfile>true</CopyProfile> <RegisteredOrganization /> <RegisteredOwner /> </component> </settings> <cpi:offlineImage cpi:source="catalog:d:/desktop/x86 clgs/install_windows vista ultimate.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> </unattend>
Note
言語の設定と Microsoft Store からの更新プログラムのインストールについては、「アプリで使用される言語の変更」を参照してください。
クリーン イメージで OOBE からローカル管理者ユーザー アカウントにサインインします。
重要
Windows アプリに特定の言語を追加する場合は、Windows アプリの場合と同じ言語の言語パックを Windows に追加することもできます。
目的の言語を現在のユーザーの言語設定リストに追加します。
Microsoft アカウント (MSA アカウント) を使用して、アプリの更新をインストールする
MSA アカウントを使用して Microsoft Store にサインインします。
Note
Microsoft Store のみ。 ローカルアカウントをMSAに変換しないでください。
MSA アカウントを持っていない場合は、Microsoft Store アカウントを使用せずにアプリを更新できます。
更新プログラムを確認し、新しい言語リソース パックをインストールします。
Microsoft Store からサインアウトし、MSA アカウントを削除します。
管理者特権でのコマンド プロンプトを開き、次を実行します。
Sysprep.exe /generalize /oobe /reboot /unattend:C:\unattend.xml
PC で OOBE が起動するのが表示されるはずです。 [プロファイルのコピー] の前に追加した言語はすべて、この時点で存在している必要があります。
Microsoft アカウント (MSA アカウント) を使用せずに、アプリの更新をインストールする
PC のインストールが完了したら、管理者としてコマンド プロンプトを開きます。
Start ms-windows-store:Updates
を実行します。「Microsoft Store 更新プログラム」ページが表示されます。 保留中の更新プログラムが表示されます。
[インストール] をタップして更新プログラムをインストールします。
インベントリ アプリ
オフラインまたはオンラインの Windows イメージにインストールされている LOB アプリを一覧表示し、パッケージに関する追加情報を取得できます。
ユーザー アカウントごとに LOB アプリを一覧表示する
コンピューター上の特定のユーザー アカウントにインストールされている Windows アプリの一覧を取得できます。 現在のユーザー以外のユーザーのパッケージを一覧表示するには、管理者特権で PowerShell を開く必要があります。 PowerShell プロンプトで、次のように入力します。
Get-AppxPackage -AllUsers
特定のユーザー用にインストールされているパッケージの一覧を取得できます。 現在のユーザー以外のユーザーのパッケージを一覧表示するには、管理者特権で PowerShell を開く必要があります。 PowerShell プロンプトで、次のように入力します。
Get-AppxPackage -Name Package1 -User domain\username
パッケージ ID などの情報を含むアプリ パッケージ (.appx) のマニフェストを取得することもできます。 PowerShell プロンプトで、次のように入力します。
Get-AppxPackageManifest -Package Package1
パッケージの完全な名前がわからない場合は、パイプラインを使用してアプリパッケージ(.appx) のマニフェストを取得できます。 PowerShell プロンプトで、次のように入力します。
(Get-AppxPackage -Name "*WinJS*" | Get-AppxPackageManifest).package.applications.application.id
Windows イメージでプロビジョニングされている LOB アプリを一覧表示する
Dism.exe または PowerShell を使用して、新しいユーザーごとにインストールされる Windows イメージでプロビジョニングされるパッケージの一覧を取得できます。 PowerShell プロンプトで、次のように入力します。
Get-AppxProvisionedPackage -Path c:\offline
または、コマンド プロンプトで次のように入力します。
DISM.exe /Image:C:\test\offline /Get-ProvisionedAppxPackages
詳細については、「DISM を使用してイメージまたはコンポーネントのインベントリを取得する」を参照してください。
アプリを削除する
アプリの個々のインスタンスを削除したり、またはアプリのプロビジョニング設定を削除したりすることができます。
ユーザー アカウントごとに LOB アプリを削除する
現在のユーザーに対してのみ 1 つのアプリを削除できます。 たとえば、コマンド プロンプトで、次のように入力します。
Remove-AppxPackage Package1
Windows イメージにプロビジョニングされた LOB アプリを削除する
プロビジョニングされたアプリを削除すると、そのアプリは新しいユーザー アカウント用にインストールされません。 現在ログインしているユーザーおよびコンピューターでアクティブな他のユーザー アカウントの場合、アプリはそれらのアカウントから削除されません。 これらの既存のアプリについては、アプリをアンインストールする必要があります。
たとえば、プロビジョニングされた LOB アプリ MyAppxPkg を Windows イメージから、管理者特権の PowerShell プロンプトで削除するには、次のように入力します。
Remove-AppxProvisionedPackage -Online -PackageName MyAppxPkg
または、コマンド プロンプトで次のように入力します。
DISM.exe /Online /Remove-ProvisionedAppxPackage /PackageName:microsoft.app1_1.0.0.0_neutral_en-us_ac4zc6fex2zjp
関連トピック
Windows PowerShell のアプリのインストールのコマンドレット
DISM アプリ パッケージ (.appx または .appxbundle) サービス コマンドライン オプション
Windows Embedded 8 Industry にユニバーサル Windows 8 アプリをインストールするためのエンタープライズ ガイド