2010-07-20

Marketplaceへの道 その2

さて、アプリを Marketplaceに登録するには、当然 認定を受ける必要があります。
 
認定の基準はWindows Phone デベロッパーホームWindows Phone 6.5 Application Certification Requirementsに書かれています。
ちなみに英語です。どこかに日本語版が無いのかと探してみましたが見当たりませんでした。
すぐ上の「アプリケーション ポリシー ガイドライン」や「コンテンツ ポリシー ガイドライン」はタイトルだけとは言え日本語化されているというのに見事に放置されています

(2010.07.21追記)
日本語訳があることを教えていただきました。
MARKETPLACE への登録のページの「プログラムに関する規約」の部分にあります。
 
何故トップページに置いてくれないんでしょう...
 
 
文句を言っても始まらないので、とりあえず適当に中身を見ていきます。
まずは 1.Reliability(信頼性)の項目から、
 
1.1. Installation Packages The _SETUP.XML file must be included in the CAB file. Visual Studio and CabWiz generate the _SETUP.XML inside the *.CAB file. Submitting a _SETUP.XML separate from the CAB file is not necessary.
.CABファイルには _SETUP.XMLを入れろと。
 
Visual Studioのスマートデバイス.CABプロジェクトで作った .CABファイルには入っていたので大丈夫っぽいですね。
 
1.2. Installation Warning Messages The application's installation process must not display any warning messages that suggest the application was designed for an earlier version of the operating system.
インストール中に OSのバージョンチェック等でメッセージを表示するなという事でしょうか?
 
何もしてないからたぶん大丈夫です。
 
1.3. Shortcuts on Start Menu or Start Screen The application must be available from the Start Screen. Soft Input Panels (SIP) and Input Method Editors (IME) are exempt from this requirement.
SIP、IME以外はスタート画面にショートカットを置かなければならないらしい。
 
これもスマートデバイス.CABプロジェクトでプログラムフォルダにショートカットを置くだけですね。
 
1.4. Store Files Only in Specified Directories The application's installer should only place shared files and DLLs in the Windows folder on the device. Shared files are files that may be used by other applications. All other files should be stored in the application's own directory.
他のアプリから使用する共有ファイル、DLLは Windowsフォルダへ、それ以外はアプリのインストールフォルダに格納しろと。
 
今回 1つだけ DLLが付いてくるけど、インストールフォルダに格納するので大丈夫です。
 
1.5. Preserve In-ROM Files The application's installer must not replace or modify any of the Windows Mobile operating system files that are present in-ROM. For this reason, the application's installer must not change files in the Windows folder of the device, unless the files being changed are created by the same developer or ISV.
システムファイルを置き換えるな。自分で作ったもの以外 Windowsフォルダのファイルを変更してはダメ。
 
してません。
 
1.6. Application Name Length The application name in the _SETUP.XML file must be less than 70 characters and must include the company name followed by the application identifier. For example: ‘Microsoft Solitaire 1.0’.
アプリケーション名は企業名を入れて 70文字以下。
 
今回のアプリ名は「tauchi.net iHighway Viewer」、大丈夫です。
 
1.7. Install and Uninstall Correctly The installation and uninstallation processes must not crash, lock, or otherwise disable any of the functionality of the Windows Mobile device. The installation log file, created on the device at \Application Data\volatile\setup.log, must report zero errors. The application should successfully uninstall without error notifications.
インストール、アンインストールが正しく行える事。
 
普通に.CABファイル作れば大丈夫なはずよね。
 
1.8. Clean-Up Data The uninstall process must remove any files placed on the Windows Mobile device during the installation process, or created during the first run of the application. The following are exempt from this requirement: ・User data associated with the application ・Files shared by other applications created by the same software publisher ・Files required by the Windows Mobile operating system ・The application’s folder structure
アンインストール時にファイルをクリーンアップする事
但し、以下を除く
・ユーザデータ
・同じ提供元が作成した他のアプリにより共有されるファイル
・Windows Mobileが必要とするファイル
・アプリケーションのフォルダ
 
レジストリに保存したユーザ設定なんかはどうなるんでしょうね?
とりあえず .CABプロジェクトにレジストリを含めて、アンインストール時に削除されるようにしてみました。
 
 
1.9. Installation in RAM The application’s installer must not place files in the Random Access Memory (RAM) file system
RAMファイルにインストールしてはいけないそうです。
よくわからないので無視します
 
1.10. Home Screen Files
Standardだけなので割愛
 
1.11. GAPI on Windows Mobile 6.5 Windows Mobile 6.5 Only Developers writing graphics applications must not use GAPI, previously referred to as the Game API.
Windows Mobile 6.5では GAPIを使ってはいけないそうです。
 
そもそも、使ったことないのでおk。
 
1.12. GAPI on Windows Mobile 6.0 and 6.1
これも割愛
 
1.13. Multiple Device Support Developers must identify the required device functionality during the Windows Marketplace submission process. Applications must have the ability to run on multiple Windows Mobile device platforms, for example, multiple Standard or multiple Professional devices. Although not recommended, applications can support a limited number of Windows Mobile devices.
複数のデバイスで動作しないといけないそうです。 ここでのデバイスというのは解像度の事を指しているのでしょうね。
でも、推奨しないけど一部のデバイス(解像度?)だけをサポートするアプリも可能なんだとか。
 
1.14. Single Application Instance Only a single instance of a Single Document Interface (SDI) application, or a file-based application, or a control panel applet is allowed to run concurrently. Any application that supports multiple documents opened simultaneously must support that functionality from within the application itself, and not through multiple application instances.
同じアプリは複数起動してはいけない。
 
そういえば .NETで作る時は多重起動のチェックいらないみたいですね。
 
1.15. Recovery from Power Saving Mode The application must be able to recover from the Windows Mobile device being placed in either the Standby (S3) state or the Suspend (S4) state. The application should also properly handle open files that removable storage cards may close or remove.
スタンバイやサスペンドから復帰した時にも正しく動くこと。
リムーバブルストレージが取り外されてもファイルを正しく扱えること(かな? 結構厳しくないですか?)
 
1.16. Windows Mobile Task Manager During application runtime, an application must appear in the Windows Mobile task manager, and remain listed there until the application's shutdown is complete.
アプリが動作している間、タスクマネージャに表示されること。
 
1.17. Hopper Test The application must complete two hours of Microsoft’s Hopper test without exhibiting unpredictable behavior, hanging or crashing.
アプリは Hopper Testに 2時間耐えられないといけない。
 
Hopper Testについてはまたあらためて。
 
1.18. Windows Error Reporting Applications must not disable the Windows Error Reporting (WER) service at any time. The following registry key must be maintained: HKEY_LOCAL_MACHINE\System\ErrorReporting\DumpEnabled = 0x00000001
アプリで エラー報告を無効にしてはいけない。
 
こんなレジストリ知りませんでしたw
 
1.19. Graceful Shutdown Applications must shut down gracefully. This includes situations when the Shell shuts down the application without the user performing any explicit action. The application must shut down within three seconds of application shutdown command initiation from Task Manager.
アプリは素直に(?)終了すること。
 
タスクマネージャから殺されたら 3秒以内に終了しろと... 時々そうじゃないアプリありますよね
 
1.20. Wait Cursor Support When the application executes a command that renders the current window, or the system as a whole, unresponsive to user input for more than one second, the application must display a wait indication to the user.
処理中はウェイトカーソルを出すこと。
 
1.21. MFC Applications Applications that use MFC classes must link statically to the MFC runtime. The distribution of dynamically linked MFC DLLs is not allowed.
MFCを使う場合はスタティックリンクすること。
 
今回は .NETなので関係なしです。
 
 
多すぎて途中から適当になってきましたが、概ね大丈夫...なんでしょうか?
他の項目も順次チェックしていきたいと思います。
 
あと、かなり適当に読んでるので Marketplaceに出す場合は必ず原文をチェックしてくださいね。
 

2 件のコメント:

匿名 さんのコメント...

日本語訳はありますよ https://developer.windowsphone.com/resources/ja-JP/Application%20Submission%20Guidelines.pdf

https://developer.windowsphone.com/Signup-Create-Account.aspx にリンクがあります

kazuaki さんのコメント...

マジすか!?
てか本当にありますねorz...情報ありがとうございます。

何故トップページに置いてないのか疑問は尽きませんが、これで安心して先のステップに進むことができそうです。