ページ

ラベル Marketplace の投稿を表示しています。 すべての投稿を表示
ラベル Marketplace の投稿を表示しています。 すべての投稿を表示

2010-07-28

Marketplaceへの道 最終

昨日 アカウントがアクティブになってすぐにアプリを登録していたのですが、つい先ほどステータスが更新されたというメールが届きました。
登録から承認までわずか 1日、かなり迅速ですね。
 
 
さっそくカタログに送信して、Marketplaceに挑戦してみよう プロジェクトひとまず終了。 また何か登録できるように頑張らないと...。
 
ただ、フリーで登録できるアプリの数が限られているので つまらないものは登録できないですね。
次からはじっくりと進めます。
 

2010-07-27

Marketplaceへの道 その5

同じネタで引っ張りすぎているので ちゃっちゃと Marketplaceにアカウント登録していきます。
 
といってもアカウント登録の方法は Windows Phone 開発者事務局のページで詳しく紹介されていますね。
 
ただ、7月現在で上記のページとは少しだけ変わっていました。 まず 個人情報の入力について、個人名とは別に発行者名と発行者名(英語表記)が設けられています。
初期の頃 個人名で登録したら発行者欄に実名がそのまま表示されるという話がありましたが その対応なのでしょうね。
 
 
もっとも自分の場合は常に実名なのでそのまま登録しましたが...
 
登録後、ジオトラストからのメールはすぐ届きましたが 何故かアドレス確認のメールが来なかったのでダッシュボードから確認の再送信をしました。
 
 
そしてこの翌日、本人確認の書類(PDF)が届きました。
上欄にジオトラストからの先のメールを受信した日付と件名に入っていたオーダー番号、下欄に名前と免許証番号・有効期限等を記入して自筆で署名したものに免許証を張り付けたものをスキャンしてメールに添付して送り返しました。
 
 
ちなみに受信したメール・書類はすべて英語でしたが、英文メールなど書く機会もない自分は多少不安でしたが完全日本語で返信しました。
 
それでも 2日後にちゃんとジオトラストの担当者さんから最終確認の連絡が入りました。 最終確認は電話で行われるようですので、登録時の電話番号は携帯にしておくのがいいと思います。
 
ちなみに、その時に聞いた話では返信するメールはオーダー番号さえ書かれていればちゃんと日本語の読めるスタッフのところにまわる仕組みになっているそうです。
 
最終確認後「2~3日でマイクロソフトからメールが届くと思います」との事でしたが、実際には 2時間もしない間にメールが届いて Marketplaceのアカウントがアクティブになりました。
 
いよいよ後はアプリを申請するだけですね。
 

2010-07-24

Marketplaceへの道 その4(ちょっと番外編)

今回は AppVerifierの話。
ちょっと番外編というタイトル通り、内容はありません。
 
Windows® Marketplace for Mobile アプリケーション申請の必要条件の「3. 効率的なメモリ管理」というセクションには次のように書かれています。  
3.1. アプリケーション検証ツールのテスト
 
Hopper のテスト中または他のテスト ケースの最中に、潜在的なメモリ問題を示すアプリケーションのサブセットのみ、Microsoft アプリケーション検証ツール (AppVerifier) でのテストを実行する必要があります。アプリケーションは AppVerifier テストの実行中に、プライマリおよびセカンダリ機能をすべて実行できる必要があります。ヒープの破損、およびクリティカル セクションの使用などの無効なロックの使用状況を検出するように、AppVerifier を設定してください
 
要は AppVerifierでメモリリーク等が無いかチェックしろという事ですね。
 
AppVerifierはここから落とせます。
あと、Windows CE 5.0 CETKと場合によっては.NET Framework Version 1.1が必要になります。
 
Windows 7に Windows CE 5.0 CETKをインストールしようとすると不吉なメッセージが表示されますが、とりあえず実行しても大丈夫でした。
 
 
それぞれをインストールした後で AppVerifierのインストールフォルダの ARMV4Iフォルダ(C:\Program Files\Application Verifier for Mobile 5.0\ARMV4I)を CETKのインストールフォルダ(C:\Program Files\Windows CE Platform Builder\5.00\CEPB\wcetk\DDTK)にコピーします。
これを忘れると「Unable to enable shim engine on device」という意味不明なメッセージが出て AppVerifierがハングアップしてしまうようです。
 
また、テスト対象のエミュレータは事前に起動して PCとパートナーシップを作成しておきます。
 
この状態で Windows CE 5.0 Test Kitを管理者権限で起動し、[Connection]-[Start client...]を選んで [Use Windows Sockets for the client/server communication]のチェックを外し [Setting]ボタンをクリックします。
 
 
[Default Device]のプロパティを開き、[Transport]、[Startup Server]を ActiveSyncに変更します。
 
 
戻った画面で [Connect]をクリックして 先ほどの [Default Device]を選択するとエミュレータに接続する事ができます。
 
 
表示されているデバイスを右クリックして [Tools]-[Application Verifier]で ようやくAppVerifierが起動します。
 
 
[Connect...]をクリックして Device Connectionのウィンドウを開き、更にその中の[Connect...]をクリックします。
 
 
しばらくして接続が完了した後、[Add...]ボタンをクリックしてテストしたいアプリを選択します。
 
 
ところが、今回のアプリをテストしようとしたところ「Unable to create process 'ihighwayviewer.exe':Error 2」というメッセージが表示されてテストを行うことができませんでした。
 
 
ここまで来て、資料の続きを読むと次のように書かれています。
次に、アプリケーション検証ツールのテストで、必要条件の適用を除外される項目を示します。
・マネージ コード アプリケーション。たとえば、.NET または .NET Compact Framework で記述されたアプリケーション。
 
さんざん引っ張りましたが、今回は .NETで作ったアプリには AppVerifierは不要...という話でしたorz
 
ネイティブのアプリ作ったときに あらためて試してみたいと思います。
 

2010-07-21

Marketplaceへの道 その3

前回までバカみたいに原文を読もうとしていた「Windows Phone 6.5 Application Certification Requirement」ですが、普通に日本語版がある事を教えていただきました。
 
普通に..というか、トップページから「Register for the Marketplace 」をクリックして「WINDOWS® MARKETPLACE への登録」というページに進んで「プログラムに関する規約」をクリックすると出てきました。
 
 
アカウントの登録を後回しにしてたのが敗因でしょうか...
でも分かりにくすぎませんか、これ?  
 
気を取り直して、必要条件の中の 1.17. Hopper テストを行ってみます。
1.17. Hopper テスト
 
アプリケーションは、予期しない動作、ハング、またはクラッシュを発生させずに、2 時間に及ぶ Microsoft の Hopper テストを完了する必要があります。
Windows Mobile 6.5 に対応した新しいバージョンの Hopper があります。このバージョンは、Windows Mobile 6.0 および 6.1 でも動作します。必要な Hopper のバージョンは 2.0.24.4074 以降です。
Windows Mobile 6.0、6.1、および 6.5 用の AppVerifier は、こちらで入手できます。
また、フォーカス アプリケーションをカスタマイズして、Hopper を実行する前にデバイスに展開しておく必要があ ります。これにより、Hopper のメイン フォーカスをターゲット アプリケーション上に移動できます。フォーカス アプ リケーションの作成方法の詳細については、こちらを参照してください。
「Windows Mobile 6.0、6.1、および 6.5 用の AppVerifier」とありますが、ダウンロードするのは Hopperです。 あと 日本語版 PDF、「こちら」と書いておきながらリンク押せないような気がするんですが...?
 
ともあれ、 Hopperをダウンロード、インストールし、インストールフォルダの Professionalフォルダの中身ををエミュレータの適当な場所(\Hopper等)にコピーしてやります。
 
 
続いて、同じくインストールフォルダ内にある FocusAppフォルダを 適当な場所にコピーして Visual Studioで開きます。(2008だとプロジェクトの変換が必要でした)
FocusApp.cppの g_pszAppNameを今からテストしたいアプリのパスに書きかえてビルド、配置を行います。
 
// Adjust the following to suit your needs
#define SLEEP_TIMEOUT TEN_SECONDS
//TCHAR *g_pszAppName = TEXT("\\windows\\wmPlayer.exe");
TCHAR *g_pszAppName = TEXT("\\Program Files\\iHighwayViewer\\iHighwayViewer.exe");


 
FocusAppを実行すると SLEEP_TIMEOUTで指定した時間(初期値は 10秒)ごとにテスト対象のアプリが起動されます(既に起動していた場合はアプリが前面に表示されます)。
続けて Hopperを起動する事で、Hopperが前面のアプリに対してランダムな入力を続けるようになります。
 
この状態で 2時間耐えろという事らしいのですが、見ているとテスト対象のアプリが裏にまわった状態でも容赦なくキー入力を続けるので連絡先が登録されたり、意味不明のSMSを打とうとしたりする事が頻繁にありました。 SLEEP_TIMEOUTの時間はもう少し短めでもいいのかもしれません。
 
少なくとも実機では絶対に動かしたくないテストですよね。
 

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に出す場合は必ず原文をチェックしてくださいね。
 

2010-07-19

Marketplaceへの道 その1

最近新しいデバイスは買うものの ただのユーザとしてしか使ってなかったので、今回 T-01Bを買う自分への言い訳として新しいデバイスで Marketplaceに挑戦してみるという目標を掲げてみました。
(Marketplaceに挑戦するのにデバイスの新旧は関係ないですが...)
 
という訳で、こんなの作ってます。
ハイウェイ交通情報のページから交通状況を取得して表示するだけのアプリですが、これからの帰省シーズンにはそこそこ有用なのではないでしょうか?
 
 
今後 WP7になると .NETになっちゃうという事で、今回初めて .NET CF(3.5)を使ってます。
また Gesture APIを使っているのでWM6.5以上専用になってしまいました。
 
こんなアプリでも Marketplaceに登録できるものなのか? しばらく挑戦してみたいと思います。