我需要提供一个关于我的.NET应用程序通过互操作调用的COM dll的“关于”样式对话框。我已经看到了在当前加载的程序集上使用GetFileVersionInfo的解决方案,以及pInvoke样式GetModuleHandle然后查询调用。但是因为我正在使用interop,所以在我加载的模块列表中我没有直接看到它,只是我的interop dll。
如果我使用FileVersionInfo(文件名)并拥有dll的完整路径,我得到了我所需要的 - 但是由于用户可以控制他们安装此COM dll的位置,我只能想到查询注册得到这条完整的道路。有人能看到更好的解决方案吗?该产品的早期版本是本机应用程序,因此直接加载了dll。
任何想法或是查询注册表的最佳选择?