背景:
如果我安裝了舊的安裝包(創建於1998年)在服務啓動沒有任何problem.This包是使用InstallShield創建項目的代碼是不可用的。它使用本地部署,並且所有依賴的DLL都位於bin目錄中。 它使用自定義installservice.exe(代碼爲此也不可用)安裝lp30.exe作爲Windows服務。Windows服務啓動問題與舊的dll
我在做什麼:
我需要創建使用VS 2010。在VC++ win2k8工作安裝的軟件包,我可以創建的.msi使用文件&文件夾結構,並從舊標識的註冊表項&安裝文件安裝。
問題:
在安裝項目,定製完成後調用installservice.exe安裝lp30.exe的服務。但服務啓動與下面的錯誤結尾:
"Error: 1053 The service did not respond to the start or control request in a timely fashion"
分析:
installservice.exe無法啓動lp30.exe的服務。在對PS2FaxW.dll函數的庫調用中失敗。這是1998年的第三方DLL,其源代碼不可用。
DLL在應用程序路徑中可用並且不需要註冊表。我發現他們是loaded.But而與dependencywalker分析,我看到下面的錯誤:
GetProcAddress(0x75790000 [KERNEL32.DLL], "IsTNT") called from "PS2FAXW.DLL" at address 0x10003F81 and returned NULL. Error: The specified procedure could not be found (127).
LoadLibraryA("\LincPag2.dll") returned NULL. Error: The specified module could not be found (126).
最後又用
Exited "LP30.EXE" (process 0x1DE8) with code 126 (0x7E).
問題退出:
我使用的是相同的「installservice.exe 「和用於啓動服務的相同應用程序(lp30.exe)。但是這種行爲並不像舊套餐那樣。在這種情況下,我可能會缺少哪些其他配置?
由於登錄憑據或權限,我有時會得到服務無法啓動的問題。您是否曾嘗試以本地管理員帳戶運行該服務以確保它的權限不相關? – WraithNath