0
我很難得到維克斯3.7燒傷捆綁工作。我想檢查系統上是否存在特定的COM庫(這是一個先決條件)。我已經試過:維克斯燒傷檢測COM DLL的存在
util:RegistrySearch
爲SOFTWARE\Classes\Installer\Assemblies\Global
下interop.name, Version=1.170.0.0, ...
- 我不能添加一個通配符,鍵名包含版本- 爲
[%WINDIR%]\Windows\assembly\GAC_MSIL\interop.name\1.170.0.0__a59bfa3a209beb60\interop.name.dll
- 再次,不能添加一個通配符,我不知道我是否可以認爲它總是在GAC_MSIL下 util:ComponentSearch
- 我不知道如何找出guid來搜索 - 它似乎總是返回false,無論我嘗試。- 非實用程序,常規FileSearch - 似乎不能在bootstrap內工作。
- 我也注意到
HKCR\TypeLib\{F1E91071-83CC-4766-90BA-E038B005ACE}
條目,但是我不確定它是否可靠檢查?
有什麼好的簡單方法來檢查GAC中的COM DLL嗎?我不介意,如果在某些邊界情況下(例如未完全卸載),它會錯過某些內容,我只想覆蓋大部分情況並避免因不可靠的檢查而阻止安裝。
在大多數情況下,只要啓動第三方安裝程序即可安裝足夠的依賴版本(如果組件的創建者可以使用該安裝程序),就會更簡單並且更易於解耦。許多依賴項都是一套文件的一部分,因此檢查一個文件通常是不夠的。這樣的安裝程序本身應該能夠處理自己已經安裝的情況,升級等。畢竟,您的安裝系統中已經有了引導程序。 –
是的,你有一點,但不幸的是,它有點像使用辦公互操作 - 我依賴的應用程序比我的應用程序更大,我的更多的是它的實用程序。我只想確保有人不會犯一些愚蠢的錯誤 - 我知道如果用戶稍後決定卸載依賴關係,我的應用程序將崩潰。 – trakos