# HG changeset patch # User faust3 # Date 1080045834 0 # Node ID fbb086fd4736d33ee11e302d9e3c3d21247a72ea # Parent 0f058e9cd4227659b9e1cb636b527a9b85081fb9 1000l diff -r 0f058e9cd422 -r fbb086fd4736 libdha/dhahelperwin/dhasetup.c --- a/libdha/dhahelperwin/dhasetup.c Tue Mar 23 10:41:04 2004 +0000 +++ b/libdha/dhahelperwin/dhasetup.c Tue Mar 23 12:43:54 2004 +0000 @@ -8,6 +8,7 @@ int main(int argc,char* argv[]){ SC_HANDLE hSCManager; SC_HANDLE hService; + char path[MAX_PATH]; printf("dhasetup (c) 2004 Sascha Sommer\n"); if(argc==1){ printf("usage:\n"); @@ -16,10 +17,12 @@ return 0; } hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); - + GetWindowsDirectory(path,MAX_PATH); + strcpy(path+strlen(path),"\\system32\\drivers\\dhahelper.sys"); if(!strcmp(argv[1],"install")){ printf("installing dhahelper\n"); - CopyFile("dhahelper.sys","c:\\windows\\System32\\drivers\\dhahelper.sys",FALSE); + if(!CopyFile("dhahelper.sys",path,FALSE)) + printf("can't find dhahelper.sys\n"); // Install the driver hService = CreateService(hSCManager, "DHAHELPER", @@ -28,7 +31,7 @@ SERVICE_KERNEL_DRIVER, SERVICE_SYSTEM_START, SERVICE_ERROR_NORMAL, - "c:\\windows\\System32\\drivers\\dhahelper.sys", + path, NULL, NULL, NULL, @@ -41,7 +44,7 @@ hService = OpenService(hSCManager, "DHAHELPER", SERVICE_ALL_ACCESS); ControlService(hService, SERVICE_CONTROL_STOP, &ServiceStatus); DeleteService(hService); - DeleteFile("c:\\windows\\System32\\drivers\\dhahelper.sys"); + DeleteFile(path); } else { printf("unknown parameter: %s\n",argv[1]);