15.6.1 グローバルアセンブリキャッシュへの配置
(1) UAPのビルド,実行での留意事項
UAPビルド時には,実行ファイル格納ディレクトリへのHiRDBデータプロバイダ for .NET FrameworkのDLL群のコピーは行われません。また,UAP実行時には,グローバルアセンブリキャッシュに配置されているDLL群を参照します。そのため,UAPを実行する場合には,HiRDBデータプロバイダ for .NET FrameworkのDLL群をUAPと同じディレクトリに配置する必要はありません。
グローバルアセンブリキャッシュには,HiRDBデータプロバイダ for .NET FrameworkのDLL群に関する発行者ポリシーも配置されます。発行者ポリシーには,UAP実行時に,インストールされているバージョンのHiRDBクライアントのHiRDBデータプロバイダ for .NET FrameworkのDLL群に対して,バージョンのリダイレクトを行うための規則が書かれています。このため,作成済みのUAPを再ビルドしなくても,インストールした新しいバージョンのHiRDBデータプロバイダ for .NET Frameworkを参照して,UAPを実行できるようになります。ただし,.NET 5以降(HiRDBデータプロバイダ for .NET Frameworkでサポートしているバージョンは.NET 6以降)では,グローバルアセンブリキャッシュの仕様は廃止になりました。
UAP実行時に参照するHiRDBデータプロバイダ for .NET Frameworkのバージョンを次に示します。
UAPビルド時に使用したHiRDBデータプロバイダ for .NET Frameworkのバージョン |
UAPビルド及び実行時に使用した.NET Framework又は.NETのバージョン |
UAP実行時に参照するHiRDBデータプロバイダ for .NET Frameworkのバージョン |
---|---|---|
09-00以前 |
.NET Framework(バージョン5より前) |
ビルドしたバージョンのHiRDBデータプロバイダ for .NET Frameworkを参照します。新しいバージョンのHiRDBデータプロバイダ for .NET Frameworkを使用するためには,新しいバージョンのHiRDBクライアントのインストール後に,再ビルドする必要があります。 |
09-01以降 |
.NET Framework(バージョン5より前) |
インストールしているHiRDBクライアントの,HiRDBデータプロバイダ for .NET Frameworkを常に参照します。 |
.NET(バージョン5以降) |
ビルドしたバージョンのHiRDBデータプロバイダ for .NET Frameworkを参照します。新しいバージョンのHiRDBデータプロバイダ for .NET Frameworkを使用するためには,新しいバージョンのHiRDBクライアントのインストール後に,再ビルドする必要があります。 |
(2) 発行者ポリシーの適用回避の方法
発行者ポリシーは,Windowsのデフォルト設定では有効となるように設定されています。しかし,ユーザ側で独自の設定を追加することで,HiRDBクライアントで配置した発行者ポリシーでのバージョンのリダイレクトを,意図的に回避することもできます。
適用回避の方法を次に示します。なお,詳細はMicrosoft提供のドキュメントを参照してください。
(a) アプリケーション構成ファイルでの設定
UAP開発時に,アプリケーション構成ファイル({実行ファイル名}.config)を作成し,アプリケーションとともに配置することができます。アプリケーション構成ファイルに,発行者ポリシーを無効化する設定(<publisherPolicy apply=no/>要素)を追加することで,アプリケーション単位で発行者ポリシーの適用を回避できます。
(b) コントロールパネルでの設定
[コントロール パネル]−[管理ツール]から,[Microsoft .NET Framework 1.1 Configuration]又は[Microsoft .NET Framework 2.0 Configuration]を選択し,アプリケーションのプロパティを変更することで,アプリケーション単位で発行者ポリシーの適用を回避できます。
(3) グローバルアセンブリキャッシュへの対応状況
HiRDBデータプロバイダ for .NET Frameworkと発行者ポリシーのグローバルアセンブリキャッシュへの対応状況を次の表に示します。
機能名称 |
ファイル名 |
HiRDBクライアントの稼働プラットフォーム |
||
---|---|---|---|---|
Windows (x86) |
Windows (x64) |
|||
.NET Framework 1.1対応(32ビットモード) |
データプロバイダ本体 |
pddndp.dll |
○ |
○ |
pddndpcore.dll |
||||
発行者ポリシー |
policy.vv.rr.pddndp.dll※ |
○ |
○ |
|
policy.vv.rr.pddndpcore.dll※ |
||||
.NET Framework 2.0対応(32ビットモード) |
データプロバイダ本体 |
pddndp20.dll |
○ |
○ |
pddndpcore20.dll |
||||
発行者ポリシー |
policy.vv.rr.pddndp20.dll※ |
○ |
○ |
|
policy.vv.rr.pddndpcore20.dll※ |
||||
.NET Framework 2.0対応(64ビットモード) |
データプロバイダ本体 |
pddndp20x.dll |
− |
○ |
pddndpcore20x.dll |
||||
発行者ポリシー |
policy.vv.rr.pddndp20x.dll※ |
− |
○ |
|
policy.vv.rr.pddndpcore20x.dll※ |
||||
.NET Framework 4 対応(32ビットモード) |
データプロバイダ本体 |
pddndp40.dll |
○ |
○ |
pddndpcore40.dll |
||||
発行者ポリシー |
policy.vv.rr.pddndp40.dll※ |
○ |
○ |
|
policy.vv.rr.pddndpcore40.dll※ |
||||
.NET Framework 4対応(64ビットモード) |
データプロバイダ本体 |
pddndp40x.dll |
− |
○ |
pddndpcore40x.dll |
||||
発行者ポリシー |
policy.vv.rr.pddndp40x.dll※ |
− |
○ |
|
policy.vv.rr.pddndpcore40x.dll※ |
- (凡例)
-
○:サポートしています。
×:サポートしていません。
−:該当しません。
- 注※
-
HiRDBデータプロバイダ for .NET Framework用発行者ポリシーは,バージョン09-01以降のリビジョンごとのファイルを累積します。
vvはバージョン番号,rrはリビジョン番号を示します。vv,rrともにゼロサプレスします。