チュートリアル : 配置用のスマート デバイス ソリューションのパッケージ化
更新 : 2007 年 11 月
このチュートリアルでは、エンド ユーザーのスマート デバイスに配置できるように、Visual Studio を使用してアプリケーションとリソースを CAB ファイルにパッケージ化する方法を説明します。
メモ : |
---|
お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。 |
このチュートリアルでは、Visual Basic、Visual C#、または Visual C++ で記述されたスマート デバイス ソリューションを使用することから始めます。詳細については、「チュートリアル : デバイス対応の Windows フォーム アプリケーションの作成」を参照してください。
このチュートリアルでは、次の操作方法を説明します。
CAB プロジェクトをソリューションに追加します。
プロジェクト名を変更します。
出力パスを変更します。
アプリケーションのプライマリ出力を使用して CAB ファイルを作成します。
必要に応じて依存関係を追加します。
アプリケーションにショートカットを追加します。
ショートカットを [スタート] メニューまたはプログラム フォルダへ移動します。
レジストリ エントリを変更します。
前提条件
既存のスマート デバイス ソリューション。このチュートリアルの目的から、「チュートリアル : デバイス対応の Windows フォーム アプリケーションの作成」で説明されているような簡単なプロジェクトの作成と構築について考えます。
CAB プロジェクトの設定
ソリューションにスマート デバイス CAB プロジェクトを追加するには
既存のスマート デバイス プロジェクトを開き、ソリューション エクスプローラを表示します。
[ファイル] メニューの [追加] をポイントし、[新しいプロジェクト] をクリックします。
[新しいプロジェクトの追加] ダイアログ ボックスが表示されます。
[プロジェクトの種類] ペインで、[その他のプロジェクトの種類] を展開し、[セットアップと配置] をクリックします。
[テンプレート] ペインの [スマート デバイス CAB プロジェクト] をクリックします。
スマート デバイスで有効なのは、この CAB プロジェクトの種類のみです。他のプロジェクトの種類は、デスクトップ ソリューションの場合にのみ有効です。
[プロジェクト名] ボックスに「CABProject」と入力し、[OK] をクリックします。
CAB プロジェクトがソリューションに追加され、ソリューション エクスプローラに表示されます。2 つのペインのファイル システム エディタが表示されるようになります。
CAB プロジェクトのカスタマイズ
製品名や他のプロジェクト プロパティを変更するには
ソリューション エクスプローラで、[CABProject] をクリックします (選択されていない場合)。
[表示] メニューの [プロパティ ウィンドウ] をクリックして、[プロパティ] ウィンドウを開きます。
プロパティ グリッドの [ProductName] フィールド値を「MyProduct」に変更します。
[ProductName] プロパティ値では、フォルダに表示されるアプリケーション名および [アプリケーションの追加と削除] ダイアログ ボックスに表示されるアプリケーション名を指定します。
また、メーカーの名前を変更するとき、およびオペレーティング システムの最低と最高のバージョンを指定するときにも、このウィンドウを使用できます。
使用している Pocket PC アプリケーションで画面の方向に対応することを示すには、[OSVersionMin] プロパティを「4.21」に設定します。ただし、このプロパティを 4.21 に設定すると、Windows Mobile 2003 以前をベースにした Pocket PC にはアプリケーションをインストールできなくなります。このような古いデバイスにもインストールでき、新しいデバイスについては画面の方向に対応できるようにするには、.inf ファイルを手動で変更する必要があります。この場合、[BuildMax] プロパティを次に示す値のいずれかに設定します。
0xA0000000 は、アプリケーションが四角形の画面 (240 × 240 ピクセル) をサポートすることを示します。
0xC0000000 は、アプリケーションが画面の回転をサポートすることを示します。
または
0xE0000000 は、アプリケーションが四角形の画面と画面の回転をサポートすることを示します。
詳細については、MSDN の文書「画面方向の切替えに対応したアプリケーションの開発」を参照してください。
Windows Mobile 2003 SE 以前での Pocket PC ソリューションの場合、[Compress] プロパティと [NoUninstall デバイスの配置] プロパティは false にする必要があります。Compact Framework 2.0 が実装されたデバイスでは、このオプションを true に設定できます。詳細については、「[プロパティ] ウィンドウ (スマート デバイス CAB プロジェクト)」を参照してください。
Windows CE のセットアップ DLL を使用している場合、このプロパティ グリッドを使用して、ファイル名と位置を指定します。Windows CE のセットアップ DLL の詳細については、Pocket PC または Smartphone SDK のドキュメントを参照してください。
CAB ファイル名を変更して認証を追加するには
ソリューション エクスプローラで、CABProject を右クリックし、[プロパティ] をクリックします。
CAB プロジェクトの [プロパティ ページ] ダイアログ ボックスが表示されます。[出力ファイル名] ボックスの CAB ファイルの名前とパスを「Debug\MyApp.cab」に変更し、[OK] をクリックします。
このプロパティ ページは、プロジェクトに認証を追加するときにも使用できます。認証は、Smartphone ソリューションでは必須です。また、Windows Mobile 2003 SE 以前をベースにした Pocket PC ソリューションではサポートされません。詳細については、「デバイス プロジェクトにおけるセキュリティ」を参照してください。
デバイス プロジェクト アプリケーションを CAB プロジェクトに追加するには
ファイル システム エディタの左ペインにある [アプリケーション フォルダ] をクリックします。ここで、以下の手順でファイルを選択し、対象デバイスのこのフォルダにインストールされるように指定します。
ファイル システム エディタが表示されていない場合は、ソリューション エクスプローラで CAB プロジェクト名を右クリックし、[表示] をクリックして、[ファイル システム] をクリックします。
Visual Studio で、[操作] メニューの [追加] をポイントし、[プロジェクト出力] をクリックします。
[プロジェクト出力グループの追加] ダイアログ ボックスで、[プロジェクト] ボックスから、使用するスマート デバイス プロジェクトをクリックします。
出力の一覧から、[プライマリ出力] をクリックし、[OK] をクリックします。
メモ : |
---|
C++ で記述されたアプリケーションでスマート デバイス CAB プロジェクトを作成するときに、CAB プロジェクトと DLL (atl90.dll、mfc90U.dll、msvcr.dll など) を動的にリンクするには、CAB プロジェクトに依存関係を手動で追加する必要があります。ただし、MFC/ATL DLL に関する依存関係を減らすために、静的なリンクにすることを強くお勧めします。また、静的にリンクしている場合、DLL をアプリケーションに再配布しないことをお勧めします。動的にリンクしていて、CAB で DLL を再配布する必要がある場合、この DLL をデバイスのシステム ディレクトリ (\Windows など) にインストールしないでください。このような DLL は、ローカルのアプリケーション ディレクトリにインストールします。ATL/MFC ランタイムに動的にリンクしている一連のアプリケーションを再配布する場合は、すべてのアプリケーションとランタイム DLL を 1 つのアプリケーション ディレクトリにインストールし、専用のフォルダに置くことのできるアプリケーションに対するショートカットを提供します。こうすることでサイズがいくらか小さくなります。また、システム ディレクトリの DLL が後から置換され、アプリケーションとの動的なリンクが切断されるのを防ぐことができます。 |
CAB プロジェクトに依存関係を追加するには (C++ プロジェクトのみ)
ソリューション エクスプローラで、CAB プロジェクト名を右クリックし、[追加] をポイントして、[ファイル] をクリックします。
Visual Studio インストール フォルダ\VC\ce\dll\プラットフォーム に移動します。
追加するファイルを選択します。
MFC プロジェクトの場合、Ctrl キーを押しながら MFC90U.DLL、atl90.dll、および msvcr90.dll をクリックします。使用しているアプリケーションで MFC 言語固有のリソースが必要な場合、言語固有の DLL を 1 つ以上クリックすることもできます。
ATL プロジェクトの場合、Ctrl キーを押しながら atl90.dll と msvcr90.dll をクリックします。ATL ソリューションで MFC をサポートしている場合、MFC90U.DLL もクリックします。
Win32 プロジェクトの場合、msvcr90.dll をクリックします。
[ファイルの追加] ダイアログ ボックスの [開く] をクリックし、ファイルを CAB プロジェクトに追加します。
ファイル システム エディタの左側のペインで、[対象コンピュータ上のファイル システム] を右クリックします。
[特別なフォルダの追加] をクリックし、[Windows フォルダ] をクリックします。
ファイル システム エディタの左側のペインで、プライマリ出力が保存されるフォルダをクリックします。既定では、DLL はプライマリ出力と同じフォルダに追加されます。Windows フォルダに移動するには、ファイル システム エディタの中央のペインでファイルを選択し、[Windows フォルダ] アイコンにドラッグします。
同じ手順で、ソリューションに必要な他の依存関係を追加します。任意のフォルダに依存関係を追加できます。Windows フォルダに依存関係を追加する必要はありません。
デバイス プロジェクト アプリケーションのショートカットを作成するには
ファイル システム エディタの右側のペインで、[<アプリケーション プロジェクト名> の プライマリ出力] をクリックします。
[操作] メニューの [<アプリケーション プロジェクト名> のプライマリ出力へのショートカットを作成] をクリックします。
このコマンドで、[出力] 項目の下に [ショートカット] 項目が追加されます。
[ショートカット] 項目を右クリックし、[名前の変更] をクリックして、ショートカットを適切な名前に変更します。
ショートカットを [スタート] メニューまたはプログラム フォルダへ移動するには
ファイル システム エディタの左側のペインで [対象コンピュータ上のファイル システム] を右クリックし、[特別なフォルダの追加] をポイントします。次に、[スタート メニュー フォルダ] または [プログラム フォルダ] をクリックします。
[アプリケーション フォルダ] から [スタート メニュー フォルダ] または [プログラム フォルダ] へショートカットをドラッグします。
レジストリ エントリを追加するには
ソリューション エクスプローラで CAB プロジェクトをクリックします。
[表示] メニューの [エディタ] をポイントし、[レジストリ] をクリックします。
レジストリ エディタで HKEY_CURRENT_USER を右クリックし、[新しいキー] をクリックします。
レジストリ エディタに [新しいキー] エントリが表示されるので、名前を「SOFTWARE」に変更します。
この新しいキーを右クリックし、[新規作成] をポイントし、[キー] をクリックします。
レジストリ エディタに [新しいキー] エントリが表示されるので、名前を「MyCompany」に変更します。
[MyCompany] エントリを右クリックし、[プロパティ ウィンドウ] をクリックします。
[名前] の値が [MyCompany] に変更されます。
CAB ファイルのビルドと配置
CAB ファイルをビルドするには
[ビルド] メニューの [CABProject のビルド] をクリックします。
または
ソリューション エクスプローラの [CABProject] を右クリックし、[ビルド] をクリックします。
[ファイル] メニューの [すべてを保存] をクリックします。
Smartphone ソリューションの CAB ファイルは、エンド ユーザーのデバイスに配置する前に、デジタル署名を追加する必要があります。デジタル署名は、Windows Mobile 2003 SE 以前をベースとした Pocket PC ソリューションではサポートされません。詳細については、「方法 : CAB ファイルに署名する (デバイス)」を参照してください。
CAB ファイルをデバイスに配置するには
Windows エクスプローラで、このソリューションを保存したフォルダを開きます。CAB ファイルは、ソリューションの CABProject\Release フォルダにあります。
ActiveSync 4.0 以降のバージョンを使用して、接続されたデバイスに CAB ファイルをコピーします。
デバイスのファイル エクスプローラで CAB ファイル名をタップすると、Windows CE によって CAB が展開され、デバイスにアプリケーションがインストールされます。
詳細については、Smartphone または Pocket PC SDK のドキュメントを参照してください。