在注冊dll或者ocx的時候,
經常會遇到這么一個問題:
模塊 已加載,但對dllregisterServer的調用失敗,錯誤代碼為0x8004*****
網上有網友回復說需要在管理員的模式下進行注冊:本人測試過,
會出現如下問題:
模塊 加載失敗。請確保該二進制存儲在指定的路徑中,或者調試它以檢查該二進制或相關的 .dll文件是否有問題。 找不到指定的模塊
還是沒有能解決問題,經過長時間嘗試,終於用以下方式的第一點解決了問題 本人親測:至於另外的方式,我沒有測試過。
以下是解決win7運行批處理出錯不能注冊dll等問題。
1.在批處理的第一行加入:cd /d %~dp0 然后在批處理上右鍵選擇使用管理員權限運行。
2.右鍵任務欄,選擇資源管理器,進程選項卡,顯示所有用戶的進程,結束explorer,文件-新建任務 explorer,此時選中“利用管理特權創建此任務".桌面顯示完成后就可以直接雙擊批處理運行了。
3. 使用第三方提權工具,例如elevate ,用法elevate -c regsvr32 demo_doreg.dll這種方法需要在每個提權的命令前都要加上elevate -c ,這種第三方工具適合於1個或者少個需要提權的情況。http://code.kliu.org/misc
4.使用bat to exe converter 1.51把批處理轉換為exe,在轉換的時候有選項可以選擇 admin 權限。使用此軟件時最好關掉360和其他殺軟,因為軟件好像要upx加殼。http://www.softpedia.com/get/System /File-Management/Batch-To-Exe-Converter.shtml
事項: 1和4 兩項適合分發給其他人員部署,第2條還是自己保留着當壓箱底的吧。
--------------------------------------------------------------
win7 使用批處理注冊dll可能會出現如下問題。
1.模塊 已加載,但對dllregisterServer的調用失敗,錯誤代碼為0x80040201原因:使用管理員權限才能注冊dll
2.右鍵使用管理員 可能會出現如下錯誤:模塊 加載失敗。請確保該二進制存儲在指定的路徑中,或者調試它以檢查該二進制或相關的 .dll文件是否有問題。 找不到指定的模塊。
原因:win7下管理員的命令行(批處理)默認的是system32文件夾。
解決方法:按照文章開頭的第一條解決即可。
當然也可使用2、3、4等方案解決。
