Windows10 PackageManagementの導入


折角PCを新しくしたので
各種ツールのインストールを、Windows10で標準で入ったという
PackageManagementというのを使ってやってみる

## 最初にすること

PowerShell経由で利用するのでポリシーの変更が必要
管理者権限でPowerShellを立ち上げて下記を実行しておく。

```ps1
PS > Set-ExecutionPolicy RemoteSigned
```

## 設定すること

まずはパッケージプロバイダーを登録する

```ps1
PS > Find-PackageProvider

Name                           Version          Source           Summary                                                                                                                                    
----                           -------          ------           -------                                                                                                                                    
nuget                          2.8.5.208        https://onege... NuGet provider for the OneGet meta-package manager                                                                                         
psl                            1.0.0.210        https://onege... psl provider for the OneGet meta-package manager                                                                                           
chocolatey                     2.8.5.130        https://onege... ChocolateyPrototype provider for the OneGet meta-package manager                                                                           
NanoServerPackage              1.0.1.0          PSGallery        A PackageManagement provider to  Discover, Save and Install Nano Server Packages on-demand                                                 
ChocolateyGet                  1.0.0.1          PSGallery        An PowerShell OneGet provider that discovers packages from https://www.chocolatey.org.                                                     
(略)
```

色々あるけどもchocolateyってのが、PackageManager以前からあって
一番充実してるっぽいのでそれを追加する

```ps1
PS > Get-PackageProvider chocolatey
```

追加できたか確認するのは
プロバイダー指定しないでGet-PackageProviderを叩けば良い

```ps1
PS > Get-PackageProvider

Name                     Version          DynamicOptions                                                                                                                                                    
----                     -------          --------------                                                                                                                                                    
Chocolatey               2.8.5.130        SkipDependencies, ContinueOnFailure, ExcludeVersion, ForceX86, PackageSaveMode, FilterOnTag, Contains, AllowPrereleaseVersions, ConfigFile, SkipValidate          
msi                      3.0.0.0          AdditionalArguments                                                                                                                                               
msu                      3.0.0.0                                                                                                                                                                            
NuGet                    2.8.5.208        Destination, ExcludeVersion, Scope, SkipDependencies, Headers, FilterOnTag, Contains, AllowPrereleaseVersions, ConfigFile, SkipValidate                           
PowerShellGet            1.0.0.1          PackageManagementProvider, Type, Scope, AllowClobber, SkipPublisherCheck, InstallUpdate, NoPathUpdate, Filter, Tag, Includes, DscResource, RoleCapability, Comm...
Programs                 3.0.0.0          IncludeWindowsInstaller, IncludeSystemComponent  
```

はいった。

## 実際に使ってみる

取り急ぎpython入れてみたかったので
試しにパッケージあるか探してみる。

```ps1
PS > Find-Package python3

Name                           Version          Source           Summary                                                                                                                                    
----                           -------          ------           -------                                                                                                                                    
python3                        3.6.2            chocolatey       Python 3.x is a programming language that lets you work more quickly and integrate your systems more effectively. You can learn to use P...
```

あったのでインストールしてみる

```ps1
PS > Install-Package python3

パッケージは、信頼済みとマークされていないパッケージ ソースから取得されています。
'chocolatey' からソフトウェアをアンインストールしますか?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "N"): 
```

なんでインストールすらしてないのに
アンインストールしようとするの…？
ともあれ、Yで実行したらインストールできたので
多分インストールのtypoっぽい

不安の残る感じではあるけれども
一応インストールできたので良しとする。

PythonをPackageManagementで入れるのが正しいかどうかは保留。
必要に応じて、そのうち入れなおすことになるかもしれない。

参考:
[Windows 10でPackageManagement (OneGet) + Chocolateyでアプリ管理](https://rcmdnk.com/blog/2016/03/11/computer-windows-chocolatey-packagemanagement/)