Windows Phone 8 SDKをWindows 7にインストールしようとしています

ご挨拶。

あなたのことは知りませんが、最初は新しいWindows 8をインストールしたくありませんでした。 意味はありませんでしたが、7つは完全に機能し、機能し続けますが、... Microsoftの賢い人たちは、すべてをやり直したいので、今回は特に行き過ぎました。

実際、WPエミュレーターの新しいバージョンであるWindows Phone Emulator(XDE)は 、Windows 8以降のWindowsデスクトップファミリーでのみ登場するHyper-Vテクノロジーを使用しています。

私はこのSDKをWindows 7のVS2012に自分でインストールし、最大限に活用するという考えを持っていました。

注意!




カットの下で、WP8 SDKインストーラーがどのように機能するかを簡単に説明し、Windows 7を手放したくないが、Windows Phoneの新しいバージョンの開発を続けたい人のために、沼地を通る曲線状の経路を示します。

パッケージを掘る


公式サイトからWPexpress_full.exeインストーラーをダウンロードしたら 、それを実行しようとしました。 彼は私にWindowsを再インストールするべきだと言った(私はそれを期待していなかった!)何か新しいもの、例えばWindows 8に。私はそのような無作法に驚いた。友達とのイデオロギー的議論。



すべての疑念はマーケティング担当者に落ちました。

WPexpress_full.exeは WinRARを使用して完全に解凍され、次のファイルが内部に見つかりました。

0: XML document text u0: PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit u1: PE32 executable for MS Windows (DLL) (console) Intel 80386 32-bit Mono/.Net assembly u10: PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit u11: PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32-bit u12: XML document text u13: XML document text u14: exported SGML document text u15: UTF-8 Unicode (with BOM) text, with very long lines, with CRLF line terminators u16: PNG image data, 63 x 63, 8-bit/color RGBA, non-interlaced u17: HTML document text u18: XML document text u2: XML document text u3: exported SGML document text u4: XML document text u5: MS Windows icon resource - 3 icons, 16x16, 16-colors u6: MS Windows icon resource - 3 icons, 16x16, 16-colors u7: MS Windows icon resource - 3 icons, 16x16, 16-colors u8: PE32 executable for MS Windows (DLL) (console) Intel 80386 32-bit Mono/.Net assembly u9: XML document text 

このパッケージのヘッダーであるファイル0を調べたところ、 Windows Installer XML(WiX)ツールセットツールキットを使用してインストーラーが作成されたことがわかりました 。 このWiXのツールをデフレートしました。その中には、 dark.exeユーティリティがありました。 このユーティリティは、デフォルトのWiXツールキットによって収集された.msiパケットを解凍する役割を果たします。 ユーティリティもこのパッケージに近づきました。

彼は開梱しました:

 . ├── AdminDeployment.xsd ├── BootstrapperApplicationData.xml ├── BootstrapperCore.config ├── BootstrapperCore.dll ├── HighContrastThemes.xaml ├── License.htm ├── LocalizableStrings.xml ├── ManagedUx.dll ├── SkuResources.xaml ├── Themes.xaml ├── manifest.xml ├── mbahost.dll ├── mbapreq.dll ├── mbapreq.png ├── mbapreq.thm ├── mbapreq.wxl ├── res │  ├── info.ico │  ├── stop.ico │  └── warn.ico └── sqmapi.dll 

ドックを読んでXMLファイルを調べた後、WiX SDKのManagedUxBootstrapper(Burn)を使用したカスタムインターフェイスでインストーラーが実行されたことが明らかになりました( wix36-sources.zipアーカイブ-WixBAにそのようなプロジェクトの例があります)。

簡単に言えば、Visual StudioでWiXプロジェクトを再構築しないと、インストーラに再構築することはできません。 少なくともmanifest.xml
 <BurnManifest xmlns="http://schemas.microsoft.com/wix/2008/Burn"> 
そして、そのようなマニフェストを収集する方法-標準のWiXキットの単一のユーティリティではありません。

したがって、 BootstrapperApplicationData.xmlの非常に魅力的な行にもかかわらず
 <UxBlocker ShortName="CheckX64runningWin2008ServerOrWin8" Type="Stop" Condition="(VersionNT < v6.1) OR ((VersionNT = v6.1) AND (NTProductType < 3)) OR (NOT VersionNT64)" DisplayText="#loc.Win8X64Block"/> 
削除できますが、このメソッドは残しておく必要があります。

Parsim manifest.xml




manifest.xmlには、インストーラーによってインストールされるすべてのパッケージとソースURIが登録されます。 必要なものをすべて解析してダウンロードし、それを1つずつインストールするルビースクリプトを作成しました。
パッケージのインストール順序は、XMLマニフェストに記載されている順序と同じです。これが重要でないことを願っています。

GitHubソース

また、既製のバイナリ( ocraを使用してアセンブルされたスクリプト+ 依存関係 + ruby 1.9.3 )が含まれるフォルダーもあります。WPexpress_full.exeをドラッグして監視するだけです。

すぐに使えるZIPアーカイブ



ヒントとコツ


XAMLエディターはBlendを起動しようとしますが、これはWP8エミュレーターのコンポーネントであり、Blendが永久にクラッシュします。 私はすぐにXAMLエディターをビジュアルのないものに切り替えました。オートコンプリートはそこで機能し、大丈夫です。



一番下の行は次のとおりです。



事実: Windows Phone 8は、同じWindows 7のVirtualBoxで実行されますが、マウスとネットワークカーソルがないため、有用なものは何も生成されていません。

このビジネスで頑張ってください! 〜Xlab

-UPD:バイナリにバグがあった場合
 /src/application.rb:76:in `require_relative': cannot load such file — /src/chain (LoadError) 
修正済みのgithubから新しいバージョンをダウンロードします。

Source: https://habr.com/ru/post/J157427/


All Articles