2011-09-07 75 views
0

我需要找到安裝在機器上的所有Visual C++運行時。該exe將由不在管理員組中的用戶運行。檢測Visual C++運行時沒有註冊表權限

我發現所有的解決方案依賴於註冊表項或掃描C:\ Windows文件夾(這我不認爲是非常可靠的)。另外,如果用戶無法讀取註冊表,則他們很可能無權訪問系統文件夾。

Q1。有第三種方法嗎? Q2302。如果安裝了多個版本的VC++,有沒有辦法確定執行應用程序時使用哪一個版本?

+0

至少在VS2010 MSVC之前的任何版本是否,這是不是你曾經想請教一個問題。在Windows並行緩存中安裝相同的運行時DLL通常有許多版本,通過安全更新進行部署。實際使用哪一個取決於程序中的清單和已安裝的發佈者策略。 –

回答

0

A1:取決於你的意思是「裝」什麼。如果你的意思是「被某些應用程序使用」,那麼即使這些方法也不會告訴你。如果您的意思是「在應用程序加載期間自動發現」,那麼您確實需要檢查加載程序使用的註冊表設置。

A2:當然,檢查應用進口MSVCRT80.DLL或MSVCRT90.DLL等