Package 'Microsoft.VisualCpp.CRT.Appx.Msi,version=14.10.25506.0' failed to install.
Search URL
https://aka.ms/VSSetupErrorReports?q=PackageId=Microsoft.VisualCpp.CRT.Appx.Msi;PackageAction=Install;ReturnCode=1603
Details
MSI: C:\ProgramData\Microsoft\VisualStudio\Packages\Microsoft.VisualCpp.CRT.Appx.Msi,version=14.10.25506.0\VC_CRT.Appx.msi, Properties: REBOOT=ReallySuppress ARPSYSTEMCOMPONENT=1 MSIFASTINSTALL="7" VSEXTUI="1" VS7.3643236F_FC70_11D3_A536_0090278A1BB8="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"
Return code: 1603
Return code details: Fatal error during installation.
Log
C:\Users\Tomoyo\AppData\Local\Temp\dd_setup_20170819173137_003_Microsoft.VisualCpp.CRT.Appx.Msi.log
Impacted workloads
Universal Windows Platform development (Microsoft.VisualStudio.Workload.Universal,version=15.0.26720.2)
Impacted components
Universal Windows Platform tools (Microsoft.VisualStudio.Component.UWP.Support,version=15.0.26621.2)
Universal Windows Platform tools for Cordova (Microsoft.VisualStudio.ComponentGroup.UWP.Cordova,version=15.0.26711.1)
Universal Windows Platform tools for Xamarin (Microsoft.VisualStudio.ComponentGroup.UWP.Xamarin,version=15.0.26606.0)
さらにメッセージに書かれているログファイルを見てみると以下のようなメッセージが残っていました。
MSI (s) (2C:68) [17:32:18:305]: Product: Visual C++ Library CRT Appx Package -- Error 1714. The older version of Visual C++ Library CRT Appx Package cannot be removed. Contact your technical support group. System Error 1612.
どうやら旧バージョンの”Visual C++ Library CRT Appx Package”のアンインストールに失敗しているようです。よく見るとそのログの少し上にWarning: Local cached package 'C:\WINDOWS\Installer\68f56c6.msi' is missing.とありVisual C++ Library CRT Appx Packageのインストール元となったmsiのキャッシュがないといったメッセージも残っています。
App Service アプリを使用している場合、App Service プランのみを移動することはできません。 App Service アプリを移動するには、次のオプションがあります。
App Service プランとそのリソース グループ内の他のすべての App Service リソースを、まだ App Service リソースが含まれていない新しいリソース グループに移動する。 この要件により、App Service プランに関連付けられていない App Service リソースも移動する必要があります。
アプリを別のリソース グループに移動し、元のリソース グループにも App Service プランをすべて保持する。
アプリが正常に動作するために、App Service プランがそのアプリと同じリソース グループ内に存在する必要はありません。
原則として1つのResource Groupに一つ以上WebApp リソース(App Service Plan)を移動できない
App Service Planの移動先にすでにMicrosoft.Web以下のリソースタイプなどがあると移動できません。ドキュメントのまだ App Service リソースが含まれていない新しいリソース グループに移動するというのはこの制限事項のことを指しています。
この状態で移動しようとすると以下のようなエラーメッセージが表示されます。
There was an error moving resources. Resource move validation failed. Please see details. Diagnostic information: timestamp '20170805T164541Z', subscription id 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', tracking id 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', request correlation id 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'. (Code: ResourceMoveProviderValidationFailed) Cannot move WebApp resources to a resource group that already contains WebApp resources. Please ensure destination resource group Common does not have any WebApp resources in it before performing the next move operation. Or create a new resource group and move resources there. (Code: BadRequest, Target: Microsoft.Web/serverFarms)
App Service Planの移動と同時にすでにバラバラになっているApp Serviceを一度移動する必要がある
App Service Planを移動するときには関連したApp Serviceも同時に移動する必要があります。つまり一度App Service Planを移動する前にApp Serviceを同じリソースグループに移動する必要があります。
ドキュメントではWeb アプリがその App Service プランとは異なるリソース グループに存在するが、その両方を新しいリソース グループに移動する場合、移動を 2 段階で行う必要がありますとして解説されているのがこれです。
この状態で移動しようとすると以下のようなエラーメッセージが表示されます。
There was an error moving resources. Resource move validation failed. Please see details. Diagnostic information: timestamp '20170805T175159Z', subscription id 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', tracking id 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', request correlation id 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'. (Code: ResourceMoveProviderValidationFailed) Cannot move resources because some site(s) are located in other resource group(s) but hosted by resource group 'Default-Web-JapanEast'. The list of site(s) and corresponding resource groups: 'website-01:Default-Web-JapanEast,website-02:Default-Web-JapanEast'. This may be a result of prior move operations. Move the site(s) back to respective hosting resource group(s) and try again. (Code: BadRequest, Target: Microsoft.Web/serverFarms)
Microsoft.Web/certificates リソースタイプは移動不能
証明書はApp Service Planに関連付けられ、そのリソースグループに移動不能な形で残るので最悪削除する羽目になります(新しいリソースグループで証明書を追加できなくなる場合がある)。
まとめ
移動するのは手順はともかくとしても処理に時間がかかるので、App Service Planとリソースグループの構成は最初からちゃんと考えておいたほうがいいでしょう。まあ真面目に使うときには考えて作るとは思いますが…。