DISM を使ったアプリのサイドローディング

Windows PowerShell(R) または展開イメージのサービスと管理 (DISM) プラットフォームを使って、Windows(R) イメージに基幹業務 (LOB) Windows ストア アプリをサイドローディングすることができます。Windows ストア アプリとは、次のデバイス上で動作する新しい種類のアプリケーションです。

  • Windows 8.1 デバイス

  • Windows 8 デバイス

  • Windows Server 2012 R2 デバイス

  • Windows Server 2012

  • Windows Embedded 8 Industry

通常、Windows ストア アプリは Windows(R) ストアからのみ入手できます。LOB Windows ストア アプリを Windows ストアに提出し、社外で利用できるようにすることができます。ただし、社内専用の Windows ストア アプリを開発し、サイドローディングと呼ばれるプロセスによって管理下にある Windows デバイスに追加することもできます。サイドローディングが行われたアプリは、Windows ストアを通じて認定を受けたりインストールしたりする必要がありません。

サイドローディングするために必要な情報を次に示します。

 

目的 説明

サイドローディングの概念について理解

アプリのサイドローディングについて知っておく必要がある基本的な概念について説明します。

サイドローディングの要件に対する PC の構成

各種 Windows エディションを実行するデバイスにアプリをサイドローディングする場合に満たす必要がある要件について説明します。グループ ポリシーを使って社内の PC をサイドローディング用に構成する方法も含まれます。

Windows ストア アプリ開発用の PC の構成

PC を構成して、有効期限のない開発者用ライセンスを設定する方法について説明します。PC を使って、エンタープライズ デバイスに追加される Windows ストア アプリやエンタープライズ アプリを開発できます。

アプリの追加

開発するアプリをサイドローディングする方法について説明します。

アプリ用の複数言語の追加

多言語イメージを準備して、イメージにサインインし、目的のアプリ リソース パック (言語が含まれています) をインストールしてから、Copy Profile を使ってイメージをキャプチャする方法について説明します。

アプリのインベントリの取得

社内やオフライン Windows イメージ内のデバイスにインストールされた LOB アプリを一覧表示する方法について説明します。

アプリの削除

アプリの個々のインスタンスを削除したり、アプリのプロビジョニング設定を削除したりする方法について説明します。

サイドローディングの概念について理解

Windows ストア アプリは、Windows ランタイム API に基づいていて、設計とユーザーによる操作方法の点でこれまでのデスクトップ アプリと異なります。Windows ストア アプリについて詳しくは、Windows ストア アプリに関するページをご覧ください。

Windows ストアからダウンロードしたアプリをサイドローディングすることはできません。 基幹業務外の Windows ストア アプリをインストールするには、Windows ストアを使う必要があります。Windows ストアについて詳しくは、Windows ストアへのクライアント アクセスの管理に関するページをご覧ください。

Windows ストアにより署名されていない LOB Windows ストア アプリは、ユーザーごとに実行時にスクリプトを使って社内の PC にサイドローディングしたり、追加したりすることができます。また、PC で作られる新しいユーザー プロファイルにそれぞれアプリが登録されるように、企業がイメージ内にプロビジョニングすることもできます。ユーザーごととイメージ内では、アプリのサイドローディングを行うための要件は同じですが、アプリの追加、取得、削除に使う Windows PowerShell コマンドレットは異なります。このトピックでは、これら 2 つの方法の手順について説明します。

Windows ストアにより署名されていない LOB Windows ストア アプリをサイドローディングするには、PC を構成する必要があります。「サイドローディングの要件に対する PC の構成」をご覧ください。

社内の LOB Windows ストア アプリ を開発する場合

Windows ストアによって署名されていない LOB Windows ストア アプリは、暗号で署名されている必要があります。アプリは、その署名証明書を信頼しているコンピューターにのみインストールできます。

証明書を使ってアプリに署名する方法について詳しくは、アプリ パッケージ ツールに関するページをご覧ください。

ただし、開発者用ライセンスを使うと、PC に開発中のアプリを追加することができます。開発中のアプリのテストについて詳しくは、「開発者用ライセンスの取得」をご覧ください。

グループ ポリシーを使って、ドメインに参加している PC を構成して、有効期限のない開発者用ライセンスを設定してアプリ開発をサポートできます。PC を構成した後で、インターネットに接続してライセンスを取得または更新する必要はありません。詳しくは、「Windows ストア アプリ開発用の PC の構成」をご覧ください。

デバイスでサイドローディングの要件がすべて満たされるまでは、[スタート] メニューのアプリ タイルの右下隅に "X" が表示されます。これは、問題があるためにアプリを実行できないことを示します。

Windows ストアにより署名されていない LOB Windows ストア アプリをサイドローディングを追加して実行するには、次の条件に基づいてデバイスを構成する必要があります。

  1. ワークグループに参加しているデバイスの場合、次の作業が必要です。

    対象の OS は次のとおりです。

    • Windows 8 Enterprise

    • Windows 8.1 Enterprise

    • Windows Embedded 8.1 Industry Enterprise

    • Windows 8.1 Pro Update

  2. Active Directory ドメインに参加するデバイスの場合、次の作業が必要です。

    対象の OS は次のとおりです。

    • Windows 8 Enterprise

    • Windows 8.1 Enterprise

    • Windows Embedded 8.1 Industry Enterprise

    • Windows 8.1 Pro Update

    • Windows Server 2012

    • Windows Server 2012 R2

  3. サイドローディング プロダクト キーを必要とするデバイスの場合、デバイスがドメインに参加しているかワークグループのメンバーかに関係なく、次の作業が必要です。

    対象の OS は次のとおりです。

    • Windows RT 8

    • Windows RT 8.1

    • Windows 8 Pro

    • Windows 8.1 Pro

    • Windows Embedded 8.1 Industry Pro

  4. 特定の Windows Embedded 8 Industry デバイスの場合、デバイスがドメインに参加しているかワークグループのメンバーかに関係なく、サイドローディング プロダクト キーは必要ありません。この場合は、次の作業が必要です。

    • デバイスで [信頼できるすべてのアプリのインストールを許可する] グループ ポリシー設定を有効にする。

    Windows Embedded 8 Industry でのサイドローディングについて詳しくは、Windows Embedded 8 Industry で最新のアプリをインストールするための企業向けガイドをご覧ください。

    対象の OS は次のとおりです。

    • Windows Embedded 8.1 Industry Pro Update

    • Windows Embedded 8.1 Industry Enterprise Update

  1. グループ ポリシー管理エディターで、ドメイン ベースのグループ ポリシー オブジェクト (GPO) を開きます。以下の手順に従って、選択した PC にグループ ポリシー設定を適用します。

    noteメモ
    この手順では、グループ ポリシーの設計と操作を理解している方を対象としています。Windows 8.1 PC でドメイン ベースのグループ ポリシーを管理するには、Windows 8.1 用のリモート サーバー管理ツールに付属するグループ ポリシー管理コンソールをインストールする必要があります。グループ ポリシーについて詳しくは、初心者向けのグループ ポリシーに関するページと Techcenter のグループ ポリシーに関するページをご覧ください。

  2. [コンピューターの構成][管理用テンプレート][Windows コンポーネント][アプリ パッケージの展開] の順にクリックして展開します。

  3. [信頼できるすべてのアプリのインストールを許可する] 設定をダブルクリックします。

  4. [信頼できるすべてのアプリのインストールを許可する] ウィンドウで、[有効] をクリックし、[OK] をクリックします。

信頼できるアプリケーションを許可するようにグループ ポリシーを設定すると、次のレジストリ設定が更新されます。HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Appx\AllowAllTrustedApps = 1

  1. 管理者特権でコマンド プロンプトを開き、次のように入力してサイドローディング プロダクト キーを追加します。

    Slmgr /ipk <sideloading product key>
    

    <sideloading product key> は、コンピューターでサイドローディングを有効にするための 25 桁のキーです。

  2. 次のように入力してサイドローディングを有効にします。

    slmgr /ato ec67814b-30e6-4a50-bf7b-d55daf729d1e
    
    noteメモ
    ライセンス認証の GUID は、サイドローディング プロダクト キーとは異なります。ライセンス認証の GUID は常に ec67814b-30e6-4a50-bf7b-d55daf729d1e になります。

サイドローディング プロダクト キーについては詳しくは、Windows 8 ライセンス ガイドに関するページをご覧ください。

PC を構成して、有効期限のない開発者用ライセンスを設定できます。PC を構成した後で、インターネットに接続してライセンスを取得または更新する必要はありません。使用するコンピューターはドメインに属し、次のどちらかのオペレーティング システムを実行している必要があります。

  • Windows 8.1 Enterprise

  • Windows 8 Pro

noteメモ
Windows 8 Pro デバイスでサイドローディングを有効にするには、サイドローディング プロダクト キーのライセンス認証を行う必要があります。詳しくは、「サイドローディングの要件に対する PC の構成」をご覧ください。

  1. グループ ポリシー管理エディターで、ドメイン ベースのグループ ポリシー オブジェクト (GPO) を開きます。以下の手順に従って、選択した PC にグループ ポリシー設定を適用します。

    noteメモ
    この手順では、グループ ポリシーの設計と操作を理解している方を対象としています。Windows 8.1 PC でドメイン ベースのグループ ポリシーを管理するには、Windows 8.1 用のリモート サーバー管理ツールに付属するグループ ポリシー管理コンソールをインストールする必要があります。グループ ポリシーについて詳しくは、初心者向けのグループ ポリシーに関するページと Techcenter のグループ ポリシーに関するページをご覧ください。

  2. [コンピューターの構成][管理用テンプレート][Windows コンポーネント][アプリ パッケージの展開] の順にクリックして展開します。

  3. [開発者用ライセンスをインストールしなくても Windows ストア アプリの開発を許可する] をダブルクリックします。

  4. [開発者用ライセンスをインストールしなくても Windows ストア アプリの開発を許可する] ウィンドウで、[有効] をクリックし、[OK] をクリックします。

  5. [信頼できるすべてのアプリのインストールを許可する] 設定をダブルクリックします。

  6. [信頼できるすべてのアプリのインストールを許可する] ウィンドウで、[有効] をクリックし、[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 番目のケースは、アプリ パッケージのプロビジョニングと呼ばれます。

アプリ パッケージの追加

アプリ パッケージ (.appx または .appxbundle) をユーザーごとにインストールするには、add-appxpackage PowerShell コマンドレットを使います。ユーザーごとに追加できる LOB アプリの数に制限はありません。

  • Windows 8 または Windows Server 2012 コンピューターの Windows PowerShell プロンプトで、.appx (または .appxbundle) ファイル パッケージを追加します。アプリを追加するときには、必要な依存アプリ パッケージをすべて含めます。たとえば、次のように入力します。

    add-appxpackage C:\app1.appx –DependencyPath C:\winjs.appx
    

    詳しくは、Windows PowerShell のアプリ インストール コマンドレットに関するページをご覧ください。

プロビジョニングされた LOB アプリを Windows イメージに追加する

Windows イメージにインストールされているアプリを、プロビジョニングされたアプリと呼びます。プロビジョニングされたアプリはイメージにステージングされ、その Windows イメージのすべてのユーザーに対して、最初のログオン時 (ユーザー アカウントが既に作成されている場合は次回のログオン時) にインストールされるようにスケジュールされます。

これらのアプリを Windows イメージに追加するには、イメージを展開する前に監査モードで起動して、DISM のアプリ プロビジョニング コマンドを使います。監査モードについて詳しくは、「監査モードの概要」をご覧ください。

プロビジョニングされたアプリはその PC 専用で、ユーザーと共にローミングされません。また、イメージにインストールできる数は 24 個までに制限されています。

既に展開されている Windows イメージでは、Windows PowerShell の Add-AppxPackage コマンドレットを使う必要があります。アクティブなユーザーがいる展開済みの Windows イメージで DISM のアプリ プロビジョニング コマンドを使う場合は、コマンドを実行する前に、すべてのユーザーをイメージからログオフさせ、自分だけがログオンしている状態にする必要があります。

noteメモ
Windows 8 では、プロビジョニングされたアプリを更新するには、まず、プロビジョニングされたアプリを削除してから、新しいバージョンのアプリを展開する必要があります。各ユーザーが次にログインしたときに更新が適用されます。

Windows 8.1 では、プロビジョニングされたアプリの新しいバージョンを展開する前に、プロビジョニングされたアプリを削除する必要はなくなりました。

  1. Windows ストア ライセンスのない LOB アプリを追加するには、展開イメージのサービスと管理 (DISM) コマンド ライン ツールまたは PowerShell コマンドレットを使います。たとえば、管理者特権のコマンド プロンプトで次のように入力します。

    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 アプリをインストールできます。ただし、このサイドローディングの要件がコンピューターで満たされるまでアプリは実行されません。詳しくは、スタート画面をカスタマイズするに関するページをご覧ください。

Windows イメージに追加された後のプロビジョニングされた LOB アプリの更新

Windows 8 では、プロビジョニングされたアプリを更新するには、まず、プロビジョニングされたアプリを削除してから、新しいバージョンのアプリを展開する必要があります。各ユーザーが次にログインしたときに更新が適用されます。

Windows 8.1 でプロビジョニングされたアプリを更新するには、アプリによってプロビジョニングされた Windows イメージにサインオンした各ユーザーのアプリを更新する必要があります。

  1. PowerShell を使って、Windows ストア ライセンスなしで LOB アプリを更新します。これは、Windows イメージを実行する PC にサインインしている各ユーザーに対して行う必要があります。たとえば、アプリの元のバージョン 1.0.0.0 をインストールした場合、この時点でバージョン 1.0.0.1 に更新した後、Windows PowerShell セッションで次のように入力します。

    Add-AppxPackage –Path App1_1.0.0.2 -DependencyPath C:\appx\WinJS.appx
    
    

    c:\appx\WinJS.appx は、依存関係パッケージへのパスです。

  2. アプリを更新したら、更新されたアプリのバージョンを確認できます。Windows PowerShell セッションで、次のように入力します。

    Get-AppxPackage | Out-GridView
    
    

多言語イメージを準備するには、イメージにサインインし、目的のアプリ リソース パック (言語が含まれています) をインストールしてから、Copy Profile を使ってイメージをキャプチャします。

  1. 次の内容を使って、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メモ
    言語の設定と Windows ストアからの更新プログラムのインストールについては、アプリで使う言語の変更に関するページをご覧ください。

  2. クリーン イメージで OOBE からローカルの管理者ユーザー アカウントにサインインします。

    Important重要
    特定の言語を Windows ストア アプリに追加する場合、Windows ストア アプリ用に追加したものと同じ言語について、Windows への言語パックの追加する必要があります。

  3. 現在のユーザーの言語の優先順位一覧に、目的の言語を追加します。

  4. Windows ストア アカウント (MSA アカウント) を使って、アプリの更新プログラムをインストールします。

    1. MSA アカウントを使って、ストアにサインインします。

      noteメモ
      これは、ストアのみのサインインです。ローカル アカウントは MSA に変換しないでください。

      MSA アカウントを持っていない場合は、Windows ストア アカウントがなくても、アプリを更新できます。「Windows ストア アカウント (MSA アカウント) を使わずにアプリの更新プログラムをインストールする」をご覧ください。

    2. 更新プログラムを確認し、新しい言語リソース パックをインストールします。

    3. Windows ストアからサインアウトして、MSA アカウントを削除します。

  5. 管理者特権のコマンド プロンプト ウィンドウを開き、次のように入力します。

    Sysprep.exe /generalize /oobe /reboot /unattend:C:\unattend.xml
    

    次に、Enter キーを押します。

  6. OOBE で PC が起動されたことを確認します。この時点では、Copy Profile の前に追加した言語が存在している必要があります。

  1. PC でインストールが完了した後、管理者特権のコマンド プロンプトを開きます。

  2. Start ms-windows-store:Updates」と入力します。

  3. Windows ストアの更新プログラムに関するページが表示されます。保留中の更新プログラムが表示されていることを確認してください。

  4. [インストール] をタップして、更新プログラムをインストールします。

オフラインまたはオンラインの Windows イメージにインストールされている LOB アプリを一覧表示したり、パッケージに関する追加情報を取得したりすることができます。

  • コンピューターの特定のユーザー アカウントに対してインストールされている最新の LOB アプリの一覧を取得できます。現在のユーザー以外のユーザーのパッケージを一覧表示するには、管理者特権で Windows PowerShell を開く必要があります。たとえば、Windows PowerShell プロンプトで次のように入力します。

    Get-AppxPackage -AllUsers
    
  • 特定のユーザーに対してインストールされているパッケージの一覧を取得できます。現在のユーザー以外のユーザーのパッケージを一覧表示するには、管理者特権で Windows PowerShell を開く必要があります。たとえば、Windows PowerShell プロンプトで次のように入力します。

    Get-AppxPackage -Name Package1 -User domain\username
    
  • パッケージ ID などの情報が含まれているアプリ パッケージ (.appx) のマニフェストを取得することもできます。たとえば、Windows PowerShell プロンプトで次のように入力します。

    Get-AppxPackageManifest -Package Package1
    
  • パッケージの完全な名前がわからない場合は、パイプラインを使ってアプリ パッケージ (.appx) のマニフェストを取得できます。たとえば、Windows PowerShell プロンプトで次のように入力します。

    (Get-AppxPackage -Name "*WinJS*" | Get-AppxPackageManifest).package.applications.application.id
    

  • 新しいユーザーに対してインストールされる、Windows イメージ内のプロビジョニングされたパッケージの一覧を、Dism.exe または Windows PowerShell を使って取得できます。たとえば、Windows PowerShell プロンプトで次のように入力します。

    Get-AppxProvisionedPackage -Path c:\offline
    

    または、コマンド プロンプトで次のように入力します。

    DISM.exe /Image:C:\test\offline /Get-ProvisionedAppxPackages
    

詳しくは、「DISM を使ったイメージまたはコンポーネントのインベントリの取得」をご覧ください。

アプリの個々のインスタンスを削除したり、アプリのプロビジョニング設定を削除したりすることができます。

  1. 現在のユーザーのアプリのみを削除できます。たとえば、コマンド プロンプトで、次のように入力します。

    Remove-AppxPackage Package1
    

  • プロビジョニングされたアプリを削除すると、そのアプリは新しいユーザー アカウントに対してインストールされなくなります。現在ログインしているユーザーやコンピューターでアクティブになっている他のユーザー アカウントについては、それらのアカウントからアプリは削除されません。このような削除されずに残っているアプリは、アンインストールする必要があります。

    たとえば、プロビジョニングされた LOB アプリである MyAppxPkg を Windows イメージから削除するには、管理者特権の Windows PowerShell プロンプトで、次のように入力します。

    Remove-AppxProvisionedPackage -Online -PackageName MyAppxPkg
    

    または、コマンド プロンプトで次のように入力します。

    DISM.exe /Online /Remove-ProvisionedAppxPackage /PackageName:microsoft.app1_1.0.0.0_neutral_en-us_ac4zc6fex2zjp
    
    

関連項目

表示: