デバイス アプリケーションのパッケージ化をサポートする IDE 機能

更新 : 2007 年 11 月

スマート デバイスに配置するソリューションをパッケージ化するには、デスクトップ ソリューションの場合と同様の Visual Studio 統合開発環境 (IDE: Integrated Development Environment) 機能を使用します。これらの機能の説明を次の表に示します。

機能

アクセス方法

解説

スマート デバイス CAB プロジェクト テンプレート

[ファイル] メニューの [追加] をポイントし、[新しいプロジェクト] をクリックして、[その他のプロジェクトの種類] をクリックします。次に、[セットアップとデプロイメント] をクリックします。

新しい CAB プロジェクトを既存のソリューションに追加するには、アイコンをクリックします。このダイアログ ボックスの中で、スマート デバイス向けに有効なプロジェクトの種類はこれだけです。CAB プロジェクトの名前を選択し、[OK] をクリックすると、プロジェクトがソリューションに追加されて、ソリューション エクスプローラに表示されます。

ファイル システム エディタ

ソリューション エクスプローラで CAB プロジェクト名を右クリックし、[表示] をクリックして、[ファイル システム] をクリックします。

このエディタで、CAB に追加するファイルとインストール先のデバイス フォルダを指定します。

レジストリ エディタ

ソリューション エクスプローラで、CAB プロジェクト名を右クリックし、[表示] をクリックして、[レジストリ] をクリックします。

このエディタで、アプリケーションに必要な特別なレジストリ キーを指定します。

CAB プロジェクト用のプロパティ ウィンドウ

ソリューション エクスプローラで CAB プロジェクトをクリックし、[表示] メニューの [プロパティ ウィンドウ] をクリックします。

このウィンドウでは、CE Setup DLL の名前 (名前がある場合)、アプリケーションのメーカー名、アプリケーションがサポートする Windows CE のバージョン (最低と最高) などのオプションを指定します。

<プロジェクト名> プロパティ ページ

ソリューション エクスプローラで、CAB プロジェクト名を右クリックし、[プロパティ] をクリックします。

このダイアログ ボックスで、構成 (Debug など)、出力ファイル名、およびセキュリティ証明書を指定します。

ms180775.alert_note(ja-jp,VS.90).gifメモ :

このようにデスクトップのセットアップ プロジェクトと同じエディタが使用されるため、スマート デバイス CAB プロジェクトでは一部のオプションが無効にされることがあります。

場合によっては、Windows Mobile 2003 SE 以降など、特定のプラットフォームでのみ実行するように設計されたアプリケーションを開発することがあります。このとき、指定したサポート対象外のプラットフォームに CAB ファイルがインストールされないようにできます。ただし、INF ファイルを手動で編集し、コマンド ライン ツールで CAB を再パッケージ化する必要があります。Visual Studio を使用して CAB を再パッケージ化すると、手動の変更が上書きされます。

Pocket PC と Smartphone

Windows Mobile 2003 SE 以前の場合、Pocket PC 用 CAB ファイルと Smartphone 用 CAB ファイルの主な違いは、Pocket PC では圧縮された CAB ファイルや署名された CAB ファイルがサポートされていない点です。Smartphone の CAB ファイルは必ず圧縮されます。また .exe ファイルまたは .dll ファイルと、CAB ファイルのどちらも、デバイスにインストールする前に必ずデジタル署名が追加されます。詳細については、「デバイス プロジェクトにおけるセキュリティ」を参照してください。

ネイティブ アプリケーションとマネージ アプリケーション

アプリケーションのスマート デバイス CAB プロジェクトを C++ で記述する場合と、Visual C# または Visual Basic で記述する場合との唯一の違いは、ネイティブ アプリケーションでは、システムの依存関係、atl80.dll、mfc80U[d].dll、および msvcrt[d].dll を、CAB プロジェクトに手動で追加する必要がある点です。マネージ アプリケーションの場合、.NET Compact Framework DLL を CAB ファイルに追加することはありません。ただし、アプリケーションでは、正しいバージョンの .NET Compact Framework がデバイスにインストールされているかどうかを判定する必要があります。そのためには、ターゲット デバイスの Version を調べます。正しいバージョンが存在しない場合は、適切な .NET Compact Framework インストール CAB ファイル (drive:\Program Files\Microsoft.NET\SDK\CompactFramework\version\WindowsCE) を、デバイスにコピーしてインストールする必要があります。

ms180775.alert_caution(ja-jp,VS.90).gif注意 :

MFC/ATL に動的にリンクされるネイティブ アプリケーションを再配布し、MFC/ATL ランタイム DLL をアプリケーション ディレクトリに配置したときは、アプリケーションがそのディレクトリ内の DLL にリンクしないことがあります。Windows CE では、同じファイル名を持つ 2 つの DLL が別々のパス上にある場合、そのファイル名を持つ最初の DLL だけが読み込まれます。以降の同一ファイル名の DLL は読み込まれません。その代わりに、アプリケーションは、以前に別のアプリケーションで読み込まれた同一ファイル名の DLL にリンクします。アプリケーションをそのディレクトリ内の DLL に確実にリンクさせるためには、他のアプリケーションで同一ファイル名の DLL を使用しないでください。

スマート デバイスの配置とデスクトップの配置

デスクトップとデバイスの各セットアップ プロジェクトにアクセスするには、[新しいプロジェクト] ダイアログ ボックスで [その他のプロジェクトの種類] をクリックし、[セットアップと配置] をクリックします。デスクトップ アプリケーションを配置する場合、[セットアップ プロジェクト]、[マージ モジュール プロジェクト]、[CAB プロジェクト]、[Web セットアップ プロジェクト]、および [セットアップ ウィザード] を使用できます。これらのプロジェクトの種類のうち、デバイス アプリケーションに使用できるものはありません。ClickOnce 配置はスマート デバイスではサポートされません。Smartphone や Pocket PC など、任意の Windows CE ベースのデバイスに配置できる CAB ファイルを作成するには、スマート デバイス CAB プロジェクトを使用する必要があります。

参照

処理手順

チュートリアル : 配置用のスマート デバイス ソリューションのパッケージ化

概念

デバイス ソリューションをパッケージ化する方法の概要