此應用程序使用msado15.dll,msvcr100.dll和許多dll。如何強制當前目錄中的dll文件?
我發現應用程序不會使用ProcessExplorer和DependencyWalker在當前目錄中加載msado15.dll和msvcr100.dll文件。
相反,此應用程序從winsxs文件夾或不同的Windows系統目錄加載dll。
我想阻止它加載dll在「不是當前目錄」 即使它工作正常,沒有我已經複製的dll。
我該如何解決這個問題?任何幫助,將不勝感激。
在此先感謝!
此應用程序使用msado15.dll,msvcr100.dll和許多dll。如何強制當前目錄中的dll文件?
我發現應用程序不會使用ProcessExplorer和DependencyWalker在當前目錄中加載msado15.dll和msvcr100.dll文件。
相反,此應用程序從winsxs文件夾或不同的Windows系統目錄加載dll。
我想阻止它加載dll在「不是當前目錄」 即使它工作正常,沒有我已經複製的dll。
我該如何解決這個問題?任何幫助,將不勝感激。
在此先感謝!
我做了一些研究,其實很簡單。根據this article,你所要做的就是創建一個名爲(YourAppName).local
的空文件。這會告訴windows在exe文件夾中查找,而不是使用共享組件。
非常感謝! –
嗯,我剛發現它只能在XP上運行,根本不在XP上面。我想我必須做一些研究,並排組裝和東西... –
是的,但它的寫作,如果您的應用程序沒有清單它可以在其他操作系統中工作。你應該嘗試刪除它(它在鏈接器選項中)。 – VoidStar
將這些DLL(msado15.dll,msvcr100.dll)的副本放在包含您的exe的目錄中。 加載程序將首先嚐試從包含exe文件的目錄加載DLL。
下面是其中的DLL窗口裝載機搜索順序: [參考:視窗通過C-C++通過傑弗裏裏希特]
通過‘當前目錄’中列出的目錄你的意思是實際的當前目錄,或者包含可執行文件的目錄?從當前目錄加載DLL存在安全問題,所以一些管理員已禁用它。 –
我的意思是exe文件存在的目錄。那麼我會研究那些安全問題。 –