[VSO2003] Visio 2003 に関する Windows インストーラの PublishComponent テーブルの概要

文書翻訳 文書翻訳
文書番号: 832029 - 対象製品

付録

静的に有効化されるアドオンの一般的な有効化条件の値の一覧

次の表は、静的に有効化されるアドオンの一般的な有効化条件の値の一覧です。
ドキュメントが必要			1
ウィンドウが必要			3
図面ウィンドウが必要		7
ページ ウィンドウが必要		135
マスタ ウィンドウが必要		263
ステンシル ウィンドウが必要		11
シェイプシート ウィンドウが必要	19
アイコン ウィンドウが必要		35
ターゲットが必要			65
ページのターゲットが必要		193
マスタのターゲットが必要		321
選択のターゲットが必要		577
すべて展開する | すべて折りたたむ

目次

概要

この資料では、Microsoft Windows インストーラの PublishComponent テーブルについて説明します。また、サードパーティの開発者が Microsoft インストーラ ファイル (.msi) の PublishComponent テーブルを使用して、コンテンツ (テンプレート、ステンシル、アドオン、ヘルプ ファイル) を Microsoft Office Visio 2003 に発行する方法に関する情報も掲載しています。

Visio 2003 にコンテンツを発行する方法は 2 つあります。Visio 2003 より前のバージョンの Microsoft Visio では、フォルダ パスの特定のセットを検索することによって、インストールされているコンテンツが検出されます。Visio 2003 では、Visio コンテンツのインストール用セットアップ プログラムに統合できる新たな方法が提供されています。Windows インストーラ テクノロジを使用するサードパーティの開発者は、作成するセットアップ プログラムで、.msi ファイルに含まれる Windows インストーラの PublishComponent テーブルを使用することにより、ユーザーのコンピュータの特定の場所に Visio コンテンツの説明を発行することができます。この新しい方法は、以前の方法よりも複雑ですが高機能です。Visio に付属のコンテンツはすべて、この PublishComponent テーブルの方法を使用して発行されます。

Visio 2003 よりも前のバージョンの Visio で使用される、パスの検出方法は、Visio 2003 でもサポートされています。しかし、この方法では Visio 2003 の実際のプログラム コンテンツは発行されないため、デフォルトでは、テンプレート、ステンシル、アドオン、スタートアップ アドオンおよびヘルプ ファイルのパスは空白になります。Visio で検出するコンテンツをセミコロン区切りのリストで指定すると、コンテンツのパスを設定することができます。このとき、Visio に付属のコンテンツを指すファイル パスを変更しないようにしてください。

.msi ファイルの PublishComponent テーブルの参照および編集を行うには、Orca データベース エディタなどのテーブル編集ツールを使用します。Orca は Windows Installer SDK (ソフトウェア開発キット) に含まれています。Orca データベース エディタを入手するには、Core SDK および Windows Installer SDK をインストールする必要があります。入手方法およびインストール方法の詳細については、次のマイクロソフト Web サイトにアクセスしてください。
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/default.htm?p=/msdownload/platformsdk/sdkupdate/SDKInfo.htm
パスが検出されるコンテンツに比べ、PublishComponent テーブルによって発行されるコンテンツを使用することには、以下のような利点があります。
  • [セキュリティ] ダイアログ ボックスの [信頼のおける発行元] タブの [組み込み済みのアドインとテンプレートをすべて信頼する] チェック ボックスでインストールされていると見なされるのは、PublishComponent テーブルによってインストールされたアドオンのみです ([セキュリティ] ダイアログ ボックスは、[ツール] メニューの [マクロ] をポイントし、[セキュリティ] をクリックすると表示されます)。
  • サードパーティのソリューションで高度な統合が可能になります。製品に付属のコンテンツと同様にアドオン、テンプレート、ステンシルを使用でき、これらにアクセスするためのメニュー アイテムの名前付けも詳細に制御できます。
  • アドオンの検出パフォーマンスが向上します。特にネットワーク経由の場合、発行済みコンポーネントの列挙に要する時間は、ハード ディスク上のフォルダの検索によってコンテンツを検出する方法と比べて大幅に短縮されます。
  • 堅牢な言語の切り替え機能を使用できます。
  • ローカライズ版のソリューションで、言語設定の取り消しをサポートします。
  • 同一製品で、インストール元から実行する構成とローカルにインストールする構成の両方をサポートします。
  • Visio インターフェイスにプラグインする必要のある Web ダウンロードに適したソリューションです。

発行済みコンテンツの変更の通知

サードパーティ プログラムのインストールまたは削除が行われると、Visio コンテンツを発行する .msi ファイルから Visio に、コンテンツが変更されたことが通知される必要があります。これにより、セットアップ プログラムによって、プログラムのインストール時に新しいコンテンツがインターフェイスに表示され、プログラムの削除時にコンテンツがインターフェイスから削除されるようになります。Visio では、パフォーマンス上の理由により、PublishComponent データがキャッシュされます。このキャッシュは、外部からの指示があった場合とキャッシュが存在しない場合を除いて再生成されません。

Visio に対してキャッシュの再生成を指示するには、セットアップ プログラムで、Visio コンテンツ更新用の
REG_DWORD
レジストリ値である
ConfigChangeID
の現在の値を、0 以外のランダムな値に変更する必要があります。このレジストリ値は次のレジストリ キーに格納されています。
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Visio
: テンプレート、ステンシル、アドオン、ヘルプ ファイルのインストールまたは削除によって、インストール済みの Visio コンテンツに変更が加えられるたびに、上のレジストリ値を 0 以外の別の値に変更する必要があります。

発行済みコンポーネントのローカライズ

コンポーネントのローカライズ版を発行するには、Qualifier フィールドのロケール ID が対象言語と一致する必要があります。また、Visio インターフェイスに表示されるデータについても、ローカライズが必要な場合があります。

Visio 2003 のインターフェイスでは、ファイルはすべて AppData フィールドから抽出された名前で表示されるため、ファイル名をローカライズする必要はありません。

Visio の PublishComponent テーブルのリファレンス

Windows インストーラの PublishComponent テーブル

元に戻す全体を表示する
種類 キー Null 値の使用 Visio コンテンツの発行に関する情報
ComponentID GUID あり 不可 発行する Visio コンテンツの種類 (テンプレート、ステンシル、アドオン、ヘルプ ファイル) に対応する、定義済み ID の 1 つ
Qualifier テキスト型 あり 不可 コンポーネントのロケールおよびファイル名
Component 識別子 あり 不可 Component テーブルに対する外部キー
AppData テキスト型 -- コンポーネントの発行方法を示すデータ
Feature 識別子 -- 不可 Feature テーブルに対する外部キー


: Qualifier 列と AppData 列の Visio 固有のデータについては、サブフィールドの区切りとしてパイプ (|) を使用します。リテラルのエスケープ文字には、バックスラッシュ (円記号) (\) を使用できます。区切り用途ではなく文字としてパイプを挿入するには、"\|" のように、パイプの前にバックスラッシュを挿入します。バックスラッシュ文字を挿入するには、"\\" のように、バックスラッシュを 2 つ使用します。

Visio テンプレートおよびステンシルの発行

発行済みテンプレート (.vst ファイルおよび .vtx ファイル) は、Visio の以下の場所に表示されます。
  • [ファイル] メニューの [新規作成] をポイントしたときに表示されるサブメニュー。
  • [図面の種類の選択] ウィンドウ。
  • オートメーション。テンプレートを必要に応じてインストールするときや修復するとき、適宜、発行済みテンプレートへの参照を使用します。Documents.Add(“Basic Shapes.vst”) は、発行済みテンプレートへの参照の例です。
発行済みステンシル (.vss ファイルおよび .vsx ファイル) は、Visio の以下の場所に表示されます。
  • [ファイル] メニューの [図形] をポイントしたときに表示されるサブメニュー。
  • オートメーション。ステンシルを必要に応じてインストールするときや修復するとき、適宜、発行済みステンシルへの参照を使用します。Documents.Add(“Backgrounds.vss”) は、発行済みステンシルへの参照の例です。

PublishComponent テーブルの列の値

元に戻す全体を表示する
Component ID Content-Type テンプレート : {CF1F488D-8D6F-499C-A78D-026E1DF38100}
ステンシル : {CF1F488D-8D6F-499C-A78D-026E1DF38101}
Qualifier Locale-ID\FileName 1033\flowchart.vst

注 : 1 つの Visio 環境において、同一のファイル名称のファイルを複数使用することはできません。 Visio において認識できる Locale-ID\FileName は固有である必要があります。 そのため、Filename は 1 つの Visio 環境において固有の名称を設定してください。
AppData Menu-Path|Alt-Names Flowchart\Work Flow Diagram Shapes|Work Flow Diagram Shapes.vss;workflow.vss

PublishComponent テーブルの値の説明

元に戻す全体を表示する
説明
ComponentID コンテンツの種類に対応する定義済みの値です。
テンプレート : {CF1F488D-8D6F-499C-A78D-026E1DF38100}
ステンシル : {CF1F488D-8D6F-499C-A78D-026E1DF38101}
テンプレート : {CF1F488D-8D6F-499C-A78D-026E1DF38100}
ステンシル : {CF1F488D-8D6F-499C-A78D-026E1DF38101}
Locale-ID コンポーネントの 10 進数のロケール ID。よく使用される値を以下に示します。
繁体字中国語	1028
ドイツ語		1031
英語 (米国)	1033
フランス語	1036
日本語		1041
韓国語		1042
簡体字中国語	2052
1033
FileName テンプレートまたはステンシルのファイル名 (パスを除く)。 flowchart.vst
Menu-Path テンプレートの場合、テンプレートのメニュー ツリーおよび [図面の種類の選択] ウィンドウでテンプレートを表示する場所を指定します。ステンシルの場合、ステンシルのメニュー ツリーでステンシルが表示される場所を指定します。
この値に文字列を指定しない場合、テンプレートまたはステンシルはメニューに表示されません。
メニュー パス内のいずれかの名前の先頭にアンダースコア (_) がある場合、テンプレートはメニューに表示されません。

メニュー パスの最後の部分は、Visio ユーザー インターフェイスでファイル名としても使用されます。テンプレートの場合、ファイル名は最近使用したテンプレートの一覧に表示されます。ステンシルの場合、ファイル名はステンシルのタイトル バーに表示されます。
Flowchart\Work Flow Diagram Shapes.
Alt-Names ファイルの別名を示すリスト。区切り文字にはセミコロンを使用します。この値が指定されている場合、Document オブジェクトの AlternateNames プロパティによってファイル内に格納されている別名よりもこの値が優先されます。 Work Flow Diagram Shapes.vss;workflow.vss

アドオンの発行

.vsl ファイルおよび .exe ファイルに実装されている発行済みのアドオンは、Visio の以下の場所に表示されます。
  • [ツール] メニューの [アドオン] をポイントして [アドオンの実行] をクリックしたとき、または [アドオン] のサブメニューのアドオンをポイントしたときに表示されるサブメニュー
  • 図形の [基本動作] ダイアログ ボックスの [ダブルクリック時の動作] タブ ([基本動作] ダイアログ ボックスは、図形を選択して、[書式] メニューの [基本動作] をクリックすると表示されます)
  • 図形のシェイプシート
  • オートメーション

PublishComponent テーブルの列の値

元に戻す全体を表示する
Component ID Content-Type {CF1F488D-8D6F-499C-A78D-026E1DF38103}
Qualifier Locale-ID\Number\FileName 1033\0\add-on.vsl
AppData Menu-Path|Localized-Name|Universal-Name|Ordinal|Attrs|Enable-Rule|Invoke-On Visio Extras\&Database Wizard...|Database Wizard|DBWiz|1|1|65535|0

PublishComponent テーブルの値の説明



元に戻す全体を表示する
説明
ComponentID コンテンツの種類に対応する定義済みの値です。アドオンには次の値を使用します。
{CF1F488D-8D6F-499c-A78D-026E1DF38103}
{CF1F488D-8D6F-499C-A78D-026E1DF38103}
Locale-ID コンポーネントの 10 進数のロケール ID。よく使用される値を以下に示します。
繁体字中国語	1028
ドイツ語		1031
英語 (米国)	1033
フランス語	1036
日本語		1041
韓国語		1042
簡体字中国語	2052
1033
Number 1 つの Visio ライブラリ ファイル (.vsl) に実装されるアドオンに番号を付けるには、0 (ゼロ) で始まる連続した数字を使用する必要があります。ただし、特定の順序で番号付けする必要はありません。各 .vsl ファイルでは、発行するアドオンの少なくとも 1 つに、番号 0 を設定する必要があります。.exe 拡張子のアドオンでは、1 つの .exe ファイルに含められるアドオンは 1 つに限られるため、番号は必ず 0 に設定する必要があります。 0
FileName アドオンのファイル名 (パスを除く)。 add-on.vsl
Menu-Path Menu-Path では、アドオンのメニュー ツリーでアドオンを表示する場所を指定します。

この値に文字列を指定しない場合、アドオンはメニューに表示されません。
メニュー パス内のいずれかの名前の先頭にアンダースコア (_) がある場合、アドオンはメニューに表示されません。
Visio Extras\&Database Wizard...
Localized-Name ローカライズされたアドオン名。この名前は、アドオンの一覧を表示する Visio インターフェイスに表示されます。 Database Wizard
Universal-Name ローカライズされていないアドオン名。この名前は Visio インターフェイスには表示されませんが、シェイプシート関数の RUNADDON() および RUNADDONWARGS を使用した場合にシェイプシートに表示されることがあります。この名前は、アドオンをコードから呼び出すために使用されます。.exe 形式のアドオンは実行時に問い合わせができないため、このフィールドを使用するには、アドオンを発行する必要があります。 DBWiz
Ordinal .vsl ファイルまたは .exe ファイル内のアドオンの、1 から始まる序数の位置。


.vsl ファイル内のアドオンの場合、次のメッセージに対する応答としてアドオンから返される値とこの値が一致する必要があります。
V2LMSG_ENUMADDONS


.exe 形式のアドオンの場合、この値は常に 1 に設定します。
1
Attrs この値ではアドオンの属性を定義します。値には、アドオンの属性を表すビット マスクを 10 進数で示した数値を使用します。この値は、次の 1 つ以上の定数をビットごとに OR 演算した値であり、Visio SDK の VAO.h で定義されています。
操作を実行する。				1
バージョン情報のダイアログ ボックスを含める。	2
ヘルプを提供する。				4
実行時に処理待ちのカーソルを表示する。		8
インターフェイスにアドオンを表示しない。	16
.exe 形式のアドオンは実行時に問い合わせができないため、属性をサポートするには、アドオンを発行する必要があります。

.vsl ファイルに実装されるアドオンの場合、アドオン内に指定されている値よりもこの値が優先されます。
1
Enable-Rule この値ではアドオンの有効化ルールを指定します。有効化ルールの値は 10 進数である必要があります。通常、有効化ルールに対応する 16 進数を求めた後、その 16 進数を 10 進数に変換して PublishComponent テーブルに追加する方法が簡単です。

アドオンを常に有効にすることもできます。アドオンを常に有効にする場合、有効化ルールは 65535 です。これは、.exe 形式のアドオンでデフォルトの有効化ルールです。65535 は 16 進数で 0xffff です。

.vsl ファイルに実装されているアドオンは、動的に有効にすることができます。アドオンを動的に有効にすると、有効化の状態を判断するために Visio からアドオンに問い合わせが行われます。この問い合わせはアドオンが呼び出されるたびに実行されるため、アドオンを動的に有効にするとパフォーマンスが大幅に低下する可能性があります。マイクロソフトでは、必要でない限り、動的に有効化されるアドオンを使用しないことを推奨します。動的に有効化されるアドオンの有効化ルールは 0 です。.exe 形式のアドオンは動的に有効にすることはできません。

アドオンは条件付きで有効にすることもできます。条件付きで有効にされるアドオンには、有効にするために満たさなければならない条件が存在し、アドオンは Visio による検証後に有効になります。たとえば、アクティブ ウィンドウが図面ウィンドウのときのみにアドオンを有効にすることができます。通常、有効化の条件に完全に基づいて有効にされるアドオンは、"静的に有効化される" アドオンと呼ばれます。Visio 2003 より前のバージョンの Visio では、.vsl ファイルに実装されたアドオンのみを静的に有効にできます。Visio 2003 では、PublishComponent テーブルを使用して発行された .exe 形式のアドオンも静的に有効にすることができます。静的に有効化されるアドオンでは、次の低レベルの有効化条件のフラグを組み合わせてビットごとに OR 演算した値を、有効化ルールとして指定する必要があります。
                                                                        10 進数  16 進数
------------------------------------------------------------------------------
ドキュメントがアクティブな場合 (すべての有効化ルールで必須)		1 	0x0001
ウィンドウがアクティブな場合 (すべてのウィンドウの種類で必須)		2 	0x0002
アクティブ ウィンドウが図面ウィンドウである場合				4  	0x0004
アクティブ ウィンドウがステンシル ウィンドウである場合			8  	0x0008
アクティブ ウィンドウがシェイプシート ウィンドウである場合			16 	0x0010
アクティブ ウィンドウがアイコン ウィンドウである場合			32 	0x0020
コマンドのターゲットがアクティブな場合 (すべてのターゲットの種類で必須)	64 	0x0040 
コマンドのターゲットがページである場合					128  	0x0080
コマンドのターゲットがマスタである場合					256  	0x0100
選択								512     0x0200
: 静的に有効化されるアドオンに関する有効化条件の一般的な値の一覧については、この資料の「付録」を参照してください。

Visio では、一部動的に有効化されるアドオンもサポートしています。このようなアドオンは、"静的かつ動的に有効化される" アドオンと呼ばれます。アドオンの静的な有効化条件が満たされると、Visio からアドオンに対し、有効化の状態について問い合わせが行われます。静的な有効化と動的な有効化の組み合わせは、動的に有効化されるアドオンほどにはパフォーマンスに影響を与えませんが、若干のパフォーマンス低下が認められることはあります。静的かつ動的な有効化は、.vsl ファイルに実装されたアドオンでのみ可能です。静的かつ動的に有効化されるアドオンの有効化ルールには、上記のフラグと動的拡張用の値 32768 を組み合わせてビットごとに OR 演算した値を使用する必要があります。32768 は 16 進数で 0x8000 です。
図面ウィンドウがアクティブな場合にのみアドオンを有効にするように指定するには、有効化ルールを 7 (0+1+2+4) に設定します。

アクティブ コマンドのターゲットがページの場合にのみ Visio からアドオンに有効化の状態を問い合わせるように指定するには、有効化ルールを 33089 (32768+1+64+256) に設定します。
Invoke-On この値には、Visio の起動時にアドオンを起動するかどうかを指定します。この値は、次のように 0 (ゼロ) か 1 のいずれかに設定できます。
Visio の起動時にアドオンを起動しない。  0
Visio の起動時にアドオンを起動する。    1
.vsl ファイルに実装され、PublishComponent テーブルを使用して公開されるアドオンの場合、アドオンに定義されている Invoke-on 属性よりもこの値が優先されます。
1

Visio のヘルプ ファイルの発行

発行済みのヘルプ ファイル (.chm) は、Visio の以下の場所に表示されます。
  • オートメーション。ヘルプ ファイルを必要に応じてインストールするときや修復するとき、適宜、発行済みヘルプ ファイルへの参照を使用します。Application.InvokeHelp(“myhelp.chm” , 15, 0) は、発行済みヘルプ ファイルへの参照の例です。
  • シェイプ ヘルプ。[書式] メニューの [オブジェクト情報] をクリックし、[オブジェクト情報] ダイアログ ボックスの [ヘルプ] ボタンをクリックしたときに表示されるヘルプ ファイルは、適宜、必要に応じたインストールおよび修復が行われます。

PublishComponent テーブルの列の値

元に戻す全体を表示する
Component ID Content-Type ヘルプ ファイル :
{CF1F488D-8D6F-499C-A78D-026E1DF38102}
Qualifier Locale-ID\FileName 1033\flowchart.vst

PublishComponent テーブルの値の説明

元に戻す全体を表示する
説明
ComponentID コンテンツの種類に対応する定義済みの値です。
ヘルプ ファイル : {CF1F488D-8D6F-499C-A78D-026E1DF38102}
ヘルプ ファイル : {CF1F488D-8D6F-499c-A78D-026E1DF38102}
Locale-ID コンポーネントの 10 進数のロケール ID。よく使用される値を以下に示します。
繁体字中国語	1028
ドイツ語		1031
英語 (米国)	1033
フランス語	1036
日本語		1041
韓国語		1042	
簡体字中国語	2052
1033
FileName ヘルプ ファイルまたはアンサー ウィザード ファイルのファイル名 (パスは除く)。 myhelp.chm

関連情報

PublishComponent テーブルの詳細については、次のマイクロソフト Web サイトにアクセスしてください。
http://msdn2.microsoft.com/en-us/library/aa370921.aspx
Visio の詳細については、次のマイクロソフト Web サイトにアクセスしてください。
http://www.microsoft.com/japan/office/visio/prodinfo/default.mspx

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 832029 (最終更新日 2003-11-25) を基に作成したものです。

プロパティ

文書番号: 832029 - 最終更新日: 2007年2月1日 - リビジョン: 2.2
この資料は以下の製品について記述したものです。
  • Microsoft Office Visio Professional 2003
  • Microsoft Office Visio Standard 2003
キーワード:?
kbinfo KB832029
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com