Save 37% off PRO during our Black Friday Sale! »

Sideloading Windows Store apps with PowerShell

C61c4df7cb3f2da2b4a7e7fe08bca7e1?s=47 guitarrapc
October 12, 2013

Sideloading Windows Store apps with PowerShell

めとべや東京#2 (Room metro Tokyo #2) http://partake.in/events/83c6eb4f-5bbe-4d0b-8015-7577989b6c7e で話した内容です。
日本では Sideloading を用いた Windows Store apps の事例や要件、方法がまだまだ乏しいようです。
この資料がSideloading のお役に立てることを祈っています。

C61c4df7cb3f2da2b4a7e7fe08bca7e1?s=128

guitarrapc

October 12, 2013
Tweet

Transcript

  1. None
  2. None
  3. None
  4. None
  5. None
  6. None
  7. None
  8. None
  9. None
  10. None
  11. None
  12. None
  13. None
  14. None
  15. None
  16. None
  17. None
  18. None
  19. None
  20. None
  21. None
  22. Windows Store に Upload も Download せず Sideload する

  23. None
  24. None
  25. Windows RT Windows 8 Pro Windows 8 Enterprise Windows Server

    2012 ドメイン Domain非対応 要 要 ワークグループ 要 要 要
  26. Windows RT Windows 8 Pro Windows 8 Enterprise Windows Server

    2012 ドメイン Domain非対応 要 要 ワークグループ 要 要 要
  27. Windows RT Windows 8 Pro Windows 8 Enterprise Windows Server

    2012 ドメイン Domain非対応 Sideloading Product key Group Policy ワークグループ Sideloading Product key Sideloading Product key Sideloading Product key (2012 は記載なし)
  28. None
  29. None
  30. Windows RT Windows 8 Pro Windows 8 Enterprise Windows Server

    2012 ドメイン Domain非対応 レジストリ設定 信頼できるすべてのアプリ のインストールを許可する ワークグループ レジストリ設定 レジストリ設定 レジストリ設定
  31. None
  32. None
  33. None
  34. Windows RT Windows 8 Pro Windows 8 Enterprise Windows Server

    2012 ドメイン Domain非対応 要 要 ワークグループ 要 要 要
  35. Pvk2Pfx /pvk d:¥SideloadingCer.pvk /pi xxxxx /spc SideloadingCer.cer /pfx d:SideloadingCer.pfx

  36. None
  37. # 証明書をRootにインポート (今回は自己証明書) $certfile = "D:¥SideLodingCer.cer" Import-Certificate ` -FilePath $certfile

    ` -CertStoreLocation cert:¥localmachine¥root
  38. None
  39. Windows RT Windows 8 Pro Windows 8 Enterprise Windows Server

    2012 ドメイン Domain非対応 Sideloading Product key Group Policy ワークグループ Sideloading Product key Sideloading Product key Sideloading Product key (2012 は記載なし)
  40. Windows RT Windows 8 Pro Windows 8 Enterprise Windows Server

    2012 ドメイン Domain非対応 レジストリ設定 信頼できるすべてのアプリ のインストールを許可する ワークグループ レジストリ設定 レジストリ設定 レジストリ設定
  41. None
  42. None
  43. # Sideloading Product Activation key 25桁 $ActivationKey = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" #

    ライセンス認証 cscript.exe c:¥windows¥system32¥slmgr.vbs /ipk $ActivationKey # ライセンス表示 cscript.exe cscript.exe c:¥windows¥system32¥slmgr.vbs /dlv
  44. # レジストリキーパス生成 New-Item -Path HKLM:¥SOFTWARE¥Policies¥Microsoft¥Windows¥Appx # レジストリキー設定 Set-ItemProperty ` -Path

    HKLM:¥SOFTWARE¥Policies¥Microsoft¥Windows¥Appx ` -Name AllowAllTrustedApps -Value 1
  45. None
  46. None
  47. None
  48. None
  49. None
  50. # Developerライセンスの確認 Get-WindowsDeveloperLicense # ある場合 ExpirationTime IsValid -------------- ------- 2013/11/09

    3:47:32 True # ない場合 Get-WindowsDeveloperLicense : There is no developer license on this computer. At line:1 char:1 + Get-WindowsDeveloperLicense + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [Get-WindowsDeveloperLicense], InvalidOperationException + FullyQualifiedErrorId : NoRegisteredDeveloperLicense,Microsoft.Windows.DeveloperLicense.Commands.GetWindowsD eveloperLicenseCommand
  51. # Developerライセンスの設定 Show-WindowsDeveloperLicenseRegistration

  52. None
  53. None
  54. None
  55. None
  56. # Developerライセンスの削除 Unregister-WindowsDeveloperLicense

  57. None
  58. None
  59. None
  60. None
  61. # 証明書をRootにインポート (今回は自己証明書) $certfile = "C:¥AppPackages¥HelloWorld_1.0.0.0_AnyCPU_Test¥HelloWorld_1.0.0.0_AnyCPU.cer" Import-Certificate ` -FilePath $certfile

    ` -CertStoreLocation cert:¥localmachine¥root # インストール結果 Directory: Microsoft.PowerShell.Security¥Certificate::LocalMachine¥root Thumbprint Subject ---------- ------- 48DF65C72E4CAB968155219B877DD2A5527D064C CN=acquire
  62. None
  63. None
  64. None
  65. None
  66. None
  67. None
  68. None
  69. # インストール ## AppxManifest.xml を読み込ませる場合 Add-AppxPackage -Register .¥AppxManifest.xml ## ****.appx

    を読み込ませる場合 Add-AppxPackage –Path .¥HelloWorld_1.0.0.0_AnyCPU.appx
  70. # AppxManufest.xml の場合 # コピーしたディレクトリで 以下のコマンドを入力 # cd ¥Projects¥HelloWorld¥HelloWorld¥bin¥Release¥ Add-AppxPackage

    -Register .¥AppxManifest.xml # 確認 Get-AppxPackage Name : d747e120-c042-41bd-a38d-bfaac2c765ca Publisher : CN=acquire Architecture : Neutral ResourceId : Version : 1.0.0.0 PackageFullName : d747e120-c042-41bd-a38d-bfaac2c765ca_1.0.0.0_neutral__qsrcgexyys56j InstallLocation : C:¥Software¥HelloWorld¥HelloWorld¥bin¥Release IsFramework : False PackageFamilyName : d747e120-c042-41bd-a38d-bfaac2c765ca_qsrcgexyys56j PublisherId : qsrcgexyys56j
  71. # ****.appx の場合 # コピーしたディレクトリで 以下のコマンドを入力 # cd ¥Projects¥HelloWorld¥HelloWorld¥AppPackages¥ Add-AppxPackage

    -Path .¥HelloWorld_1.0.0.0_AnyCPU.appx # 確認 Get-AppxPackage Name : d747e120-c042-41bd-a38d-bfaac2c765ca Publisher : CN=acquire Architecture : Neutral ResourceId : Version : 1.0.0.0 PackageFullName : d747e120-c042-41bd-a38d-bfaac2c765ca_1.0.0.0_neutral__qsrcgexyys56j InstallLocation : C:¥Program Files¥WindowsApps¥d747e120-c042-41bd-a38d- bfaac2c765ca_1.0.0.0_neutral__qsrcgexyys56j IsFramework : False PackageFamilyName : d747e120-c042-41bd-a38d-bfaac2c765ca_qsrcgexyys56j PublisherId : qsrcgexyys56j
  72. # 同じStore appsのインストールは同一PCで一つだけ # 別ユーザーですでに 対象の Store apps をインストールしていると重複エラーが発生する Add-AppxPackage

    : Deployment failed with HRESULT: 0x80073CF9, Install failed. Please contact your software vendor. Another user has already installed an unpackaged version of this app. The current user cannot replace this with a packa ged version. The conflicting package is d747e120-c042-41bd-a38d-bfaac2c765ca and it was published by CN=acquire. NOTE: For additional information, look for [ActivityId] f801fe2c-bef3-0005-7422-02f8f3bece01 in the Event Log or use th e command line Get-AppxLog -ActivityID f801fe2c-bef3-0005-7422-02f8f3bece01 At line:1 char:1 + Add-AppxPackage -Path .¥HelloWorld_1.0.0.0_AnyCPU.appx + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : WriteError: (C:¥Users¥acquir...0.0_AnyCPU.appx:String) [Add- AppxPackage], IOException + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand
  73. None
  74. None
  75. None
  76. ## 自分のユーザーだけの確認 Get-AppxPackage ## 全ユーザーの確認 (管理者権限必要) Get-AppxPackage -AllUsers ## 指定ユーザーの確認

    (管理者権限必要) Get-AppxPackage –User hogehoge ## 指定パッケージの確認 Get-AppxPackage –Name fugafuga Get-AppxPackage –Name "*maps" ## 指定パッケージの確認(パラメータにないプロパティで検索) Get-AppxPackage | where PackageFamilyName -like "Micro*"
  77. Get-AppxPackage | where PackageFamilyName -like "Micro*" | ft Name Publisher

    PublisherId Architectur ResourceId Version PackageFami PackageFull InstallLoca IsFramework e lyName Name tion ---- --------- ----------- ----------- ---------- ------- ----------- ----------- ----------- ----------- Microsof... CN=Micro... 8wekyb3d... X64 3.0.1.174 Microsof... Microsof... C:¥Progr... False Microsof... CN=Micro... 8wekyb3d... X64 3.0.1.177 Microsof... Microsof... C:¥Progr... False Microsof... CN=Micro... 8wekyb3d... X64 3.0.1.176 Microsof... Microsof... C:¥Progr... False Microsof... CN=Micro... 8wekyb3d... X64 3.0.1.174 Microsof... Microsof... C:¥Progr... False Microsof... CN=Micro... 8wekyb3d... X64 3.0.1.174 Microsof... Microsof... C:¥Progr... False Microsof... CN=Micro... 8wekyb3d... X64 3.0.1.174 Microsof... Microsof... C:¥Progr... False Microsof... CN=Micro... 8wekyb3d... X64 3.0.1.174 Microsof... Microsof... C:¥Progr... False Microsof... CN=Micro... 8wekyb3d... X64 6.3.9600... Microsof... Microsof... C:¥Progr... False
  78. Remove-AppxPackage –Name パッケージ名 ## 一覧からフィルタして Remove Get-AppxPackage -AllUsers ` |

    where name -eq "d747e120-c042-41bd-a38d-bfaac2c765ca" ` | Remove-AppxPackage ## 最後にインストールしたパッケージをRemove Get-AppxPackage | select -last 1 | Remove-AppxPackage ## タイル画面で右クリック選択してアンインストールもできるけどね
  79. None
  80. ##おすすめスクリプト Remove Windows Store apps in Windows 8 http://gallery.technet.microsoft.com/scriptcenter/Remove-Windows-Store-Apps-a00ef4a4

  81. None
  82. None
  83. 出典 : Microsoft Evangelist -- Junichi Anno 【Windows 8】 WinRT

    アプリのプロビジョニングとインストールについて http://blogs.technet.com/b/junichia/archive/2013/02/18/3553222.aspx
  84. None
  85. Get-AppxProvisionedPackage –online | Format-Table DisplayName PackageName PublisherId Version Architecture ResourceId

    InstallLocation ----------- ----------- ----------- ------- ------------ ---------- --------------- Microsoft.Bing... Microsoft.Bin... 8wekyb3d8bbwe 2013.809.632.... 11 ~ %SYSTEMDRIVE%... Microsoft.Bing... Microsoft.Bin... 8wekyb3d8bbwe 2013.820.258.... 11 ~ %SYSTEMDRIVE%... Microsoft.Bing... Microsoft.Bin... 8wekyb3d8bbwe 2013.813.243.... 11 ~ %SYSTEMDRIVE%... Microsoft.Bing... Microsoft.Bin... 8wekyb3d8bbwe 2013.1010.230... 11 ~ C:¥Program Fi... Microsoft.Bing... Microsoft.Bin... 8wekyb3d8bbwe 2013.809.636.... 11 ~ %SYSTEMDRIVE%... Microsoft.Bing... Microsoft.Bin... 8wekyb3d8bbwe 2013.809.637.... 11 ~ %SYSTEMDRIVE%... Microsoft.Bing... Microsoft.Bin... 8wekyb3d8bbwe 2013.809.639.25 11 ~ %SYSTEMDRIVE%... Microsoft.Bing... Microsoft.Bin... 8wekyb3d8bbwe 2013.809.641.... 11 ~ %SYSTEMDRIVE%... Microsoft.Help... Microsoft.Hel... 8wekyb3d8bbwe 2013.822.1812... 11 ~ %SYSTEMDRIVE%... Microsoft.Reader Microsoft.Rea... 8wekyb3d8bbwe 2013.822.1823... 11 ~ %SYSTEMDRIVE%... Microsoft.Skyp... Microsoft.Sky... kzf8qxf38zg5c 2013.805.1159... 11 ~ %SYSTEMDRIVE%... Microsoft.Wind... Microsoft.Win... 8wekyb3d8bbwe 2013.822.1841... 11 ~ %SYSTEMDRIVE%... Microsoft.Wind... Microsoft.Win... 8wekyb3d8bbwe 2013.822.1828... 11 ~ %SYSTEMDRIVE%... microsoft.wind... microsoft.win... 8wekyb3d8bbwe 2013.822.1740... 11 ~ %SYSTEMDRIVE%... Microsoft.Wind... Microsoft.Win... 8wekyb3d8bbwe 2013.822.1837... 11 ~ %SYSTEMDRIVE%... Microsoft.Wind... Microsoft.Win... 8wekyb3d8bbwe 2013.822.1832... 11 ~ %SYSTEMDRIVE%... Microsoft.Wind... Microsoft.Win... 8wekyb3d8bbwe 2013.822.1835... 11 ~ %SYSTEMDRIVE%... Microsoft.Xbox... Microsoft.Xbo... 8wekyb3d8bbwe 2013.808.1749... 11 ~ %SYSTEMDRIVE%... Microsoft.Zune... Microsoft.Zun... 8wekyb3d8bbwe 2013.809.1658... 11 ~ %SYSTEMDRIVE%... Microsoft.Zune... Microsoft.Zun... 8wekyb3d8bbwe 2013.809.1659... 11 ~ %SYSTEMDRIVE%...
  86. # 特定ユーザー毎に追加 Add-AppxProvisionedPackage –path c:¥hoge.appx –DependancyPath c:¥fuga.appx # 全ユーザーに追加 ##

    PowerShell Add-AppxProvisionedPackage –Online -PackagePath $PackagePath -DependencyPackagePath $DependencyPackagePath-LicensePath $LicensePath ## DISM (Deployment Image Servicing and Management) DISM /Online /Add-ProvisionedAppxPackage /PackagePath:C:¥App1.appx /SkipLicense
  87. None
  88. None
  89. None
  90. None