マニフェストを使用して、COMサーバー( reg-free COM )への依存関係を指定したいと思います。
コンシューマーアプリケーションは、COMサーバーがなくてもほとんど正常に動作します。その機能の1.7%程度だけがCOMサーバーを使用します。したがって、昔ながらのregsvr32
方法では、ユーザーが呼び出しをトリガーする何かを実行しCoCreateInstance()
、その時点でコンシューマーにエラーメッセージが表示されるまで、正常に起動して動作します。
マニフェストをしばらく試してみましたが、依存しているCOMサーバーアセンブリがファイルシステムに存在しない限り、コンシューマーは起動しないようです。それは良くないね。
次の内容の「追加マニフェスト」を追加しました。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="TheComServer.X"
version="1.0.0.0"/>
</dependentAssembly>
</dependency>
</assembly>
マニフェストでreg-freeCOMを使用し、依存関係をオプションにする方法はありますか?これにより、コンシューマープログラムが起動し、CoCreateInstance()
実際に呼び出されるまで正常に動作しますか?