2012-01-26 97 views
1

作爲窮人安裝的一部分(在Windows 7上),我需要從.bat文件註冊DLL。我向用戶提供一組構成應用程序的文件,告訴他們將它們複製到某個(任何)目錄,然後,作爲安裝的第一部分,告訴他們執行我的register.bat文件,該文件調用regsvr32相應的DLL(s)如何在Windows 7中從.bat文件註冊DLL

這會失敗並出現0x80004005(權限)錯誤。然後我嘗試以管理員身份運行.bat文件。這不起作用,因爲它在\ windows \ system32中打開命令提示符,而不是要註冊的DLL所在的位置。由於我不知道用戶在哪裏放置了register.bat文件,我無法將路徑添加到.bat文件中的DLL文件。

有什麼想法?

+0

爲什麼不乾脆做對了,並創建一個安裝程序?這聽起來像15分鐘的工作對我來說。如果你對安裝程序一無所知,時間會更長。 –

回答

1

嘗試使用%~dp0得到批處理文件存儲在文件夾,如:

regsvr32 %~dp0\mylibrary.dll 
+0

這似乎已經做了伎倆......謝謝。從來沒有聽說過%〜dp0的魔法。另外,Windows計算機上的特定位置放置應用程序特定的DLL在哪裏? C:\,\ WIndows,\ windows \ system32? –

+0

我會把它們放在你的應用程序文件夾中;共享文件夾用於共享DLL,如運行時等。 – Blindy

1

您可以獲取和使用當前目錄下的這樣的路徑:

set "FullPath=%cd%\Test.dll"