Windows 8のメトロスタイルのアプリはXGA以上で
Virtual Boxで仮想PCを作って、そのままVisual Studioなんかでメトロスタイルのプログラムを作成しようとすると、こんな画面がXAMLのデザイナーに表示されます。
An Unhandled Excaption has occurred
System.Runtime.InteropServices.COMException
Exception from HRESULT: 0x80270232
at Microsoft.Expression.DesignHost.Isolation.Remoting.NativeMethods.IApplicationActivationManager.ActivateApplication(String appUserModelId, String activationContext, ActivateOptions options, Int32& processId)
at Microsoft.Expression.DesignHost.Platform.TailoredDomainFactory.CreateDesignerProcess(String applicationPath, String clientPort, String hostUri, IDictionary environmentVariables, Int32& processId)
at Microsoft.Expression.DesignHost.Isolation.Primitives.ProcessDomainFactory.ProcessIsolationDomain..ctor(ProcessDomainFactory factory, IIsolationBoundary boundary, AppDomainSetup appDomainInfo, FrameworkName targetFramework)
at Microsoft.Expression.DesignHost.Isolation.Primitives.ProcessDomainFactory.CreateIsolationDomain(IIsolationBoundary boundary)
at Microsoft.Expression.DesignHost.Platform.TailoredDomainFactory.CreateIsolationDomain(IIsolationBoundary boundary)
at Microsoft.Expression.DesignHost.Isolation.Primitives.IsolationBoundary.Initialize()
at Microsoft.Expression.DesignHost.Isolation.Primitives.IsolationBoundary.CreateInstance[T](Type type)
at Microsoft.Expression.DesignHost.Isolation.IsolatedExportProvider.Initialize()
at Microsoft.VisualStudio.ExpressionHost.Services.VSIsolationService.CreateExportProvider(FrameworkName frameworkName, IsolationInformation isolationInformation, ICatalogFactory catalogFactory, IExportFilter filter)
at Microsoft.Expression.DesignHost.Isolation.IsolationService.CreateLease(FrameworkName frameworkName, IsolationInformation isolationInformation)
at Microsoft.Expression.DesignHost.IsolatedDesignerService.CreateLease(FrameworkName targetFramework, IsolationInformation isolationInformation, DesignerServiceEntry& entry)
at Microsoft.Expression.DesignHost.IsolatedDesignerService.CreateDesignerViewInfo(FrameworkName targetFramework, IsolationInformation isolationInformation, IHostSourceItem item, IHostTextEditor editor, CancellationToken cancelToken)
at Microsoft.Expression.DesignHost.IsolatedDesignerService.<>c__DisplayClass10.<CreateDesigner>b__f()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
気にせず実行すると、こんな例外が発生します。
—————————
Microsoft Visual Studio
—————————
Unable to activate Windows Tailored application ’60e8dca4-97db-4ea8-8774-ce84b8f7aa48_a9wkxpjy1p17t!App’.
操作はサポートされていません。不明なエラー: 0x80270232?
—————————
まぁそのまんまなんですが、解像度が足りないみたいなので、Windowsの解像度を1024*768とかにして実行すると、問題は解決します。
Windows 8 DP IEのユーザーエージェント
Windows 8にはメトロ版のIEとデスクトップ版のIEの2つが搭載されています。
メトロ版のIEではFlashやSilverlightなどが動かなそうなので、アプリ側としてはユーザーエージェントで動きを変えるとかいうことが必要なのかなーと、やるとするとやっぱり環境変数?ということで全部出してみた。
デスクトップ版
Values:ALL_HTTP: HTTP_CONNECTION:Keep-Alive HTTP_ACCEPT:text/html, application/xhtml+xml, */* HTTP_ACCEPT_ENCODING:gzip, deflate HTTP_ACCEPT_LANGUAGE:en-US HTTP_COOKIE:ASP.NET_SessionId=1jl3dkciv3xmab2uq5vor5vn HTTP_HOST:localhost:1309 HTTP_USER_AGENT:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
メトロ版
Values:ALL_HTTP: HTTP_CONNECTION:Keep-Alive HTTP_ACCEPT:text/html, application/xhtml+xml, */* HTTP_ACCEPT_ENCODING:gzip, deflate HTTP_ACCEPT_LANGUAGE:en-US HTTP_HOST:localhost:1309 HTTP_USER_AGENT:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0) HTTP_UA_CPU:AMD64
メトロ版は64ビットで動いているけれど、ほかの違いがないとなると、同判断すればいいんだろう。
Windows8 DP のシャットダウン
Windows 8 Developer Preview
Buildで、Windows 8 のDeveloper Preview版が一般公開されたということで早速インストールして見ました。
Windows 8 Developer Preview のダウンロード先
Developer PreviewのダウンロードはMSDNのこのページから可能です。
Visual Studioがどうなっているのかが気になったので、WindowsDeveloperPreview-64bit-English-Developer.isoをダウンンロードしました。
仮想環境の用意
物理マシンがそんなに余っているわけではないのでもちろん仮想環境です。今回は前述のとおりクライアントが64bitになるので、64bitのクライアントを扱える仮想環境が必要です。
Windows 7に入っているVirtualPCは32bitなので、今回は利用できません。本来であればHyper-Vが一番いい選択なのでしょうが、Windows 7 64bitではHyper-Vは利用できません。(Windows 8だと、クライアントPCでもHyper-Vが利用できるようですね!!。)
VMWare Player
64bitな仮想PCを作成する場合、無料で利用できるVMWare Playerをいつも利用しています。今回も、こいつにインストールしてみようと試しましたが、インストール時に「vcpu-01:NOT_IMPLEMENTED」てなエラーが発生してインストールが進みません。どうも、Windows 8で使っているアーキテクチャを一部VMWare Playerでサポートしていないようです。
Virtual Box
VMWare Workstation(有料版)だと問題ないとの情報(未確認)もあったのですが、とりあえず今回はOracleから出ているVirtual Boxでインストールしてみました。
とりあえず問題なく動いています。
メトロUI⇔デスクトップの切り替えはウインドウズキーでできるんですね。スタートメニューがまるごとメトロUIになった感じ?
機能の追加と削除を見ると、IE10、Hyper-V, .NET Framework 4.5なんて文字が見えますね。
IISは8みたいです。
IIS7がいろいろな国の言語を表現していたのに対して、IIS8は様々なプログラムが動くことを表現しているみたいですね。
あっ、あれ?シャットダウンてどうやるんだろう。