Hi Frank,
the result is actually the same - I receive error “The service cannot be installed due to an unknown error” and then - “Invalid parameter encountered”…
Actually, I didn’t know what to do now…
Best:
Mark
----- Original Message -----
From: Friemel, Frank
To: ‘Mark Twain’
Sent: Monday, July 17, 2000 2:20 PM
Subject: RE: [ntfsd] RE: InstallShield 5.5 Proffessional and kernel-mode drive rs
Mark,
I am not sure, but I think if you set LoadOrderGrup to “filter”, then you got to have set ServiceType to “SERVICE_FILE_SYSTEM_DRIVER”.
regards
Frank
-----Original Message-----
From: Mark Twain [mailto:xxxxx@crosswinds.net]
Sent: Montag, 17. Juli 2000 15:07
To: File Systems Developers; Friemel, Frank
Subject: Re: [ntfsd] RE: InstallShield 5.5 Proffessional and kernel-mode drive rs
Hi Frank,
Ok, I understand what you mean, but I think there is implementation in the InstallShield.
Look at the Service.rul and Service.h
One of the parameters (ServiceType) can be SERVICE_KERNEL_DRIVER.
Have you tried this?
I still can’t register the driver.
The application by OSR - OsrLoader registers the driver succesfully…
(The service.rul and service.h are calling the advapi32.dll)…
Here is my InServ.ini:
[Services]
service1=filedrv
service2=simple
[filedrv]
ServiceName=filedrv
DisplayName=filedrv
DesiredAccess=SERVICE_ALL_ACCESS
ServiceType=SERVICE_KERNEL_DRIVER
StartType=SERVICE_BOOT_START
ErrorControl=SERVICE_ERROR_NORMAL
BinaryPathName=Drivers\filedrv.sys
LoadOrderGroup=filter
TagID=NULL
Dependencies=NULL
ServiceStartName=NULL
Password=NULL
ServiceExists=0
StartService=0
ServiceArgs=h
Component=Driver
[simple]
ServiceName=Tantaranka
DisplayName=Aide Kuche!
DesiredAccess=SERVICE_ALL_ACCESS
ServiceType=SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS
StartType=SERVICE_DEMAND_START
ErrorControl=SERVICE_ERROR_NORMAL
BinaryPathName=simple.exe
LoadOrderGroup=NULL
TagID=NULL
Dependencies=NULL
ServiceStartName=NULL
Password=NULL
ServiceExists=0
StartService=0
ServiceArgs=h
Component=Service
I’m calling the register-function using ISInstallServices(); and ISInstallServices();
Best:
Mark
----- Original Message -----
From: Friemel, Frank
To: ‘Mark Twain’
Sent: Monday, July 17, 2000 1:08 PM
Subject: RE: [ntfsd] RE: InstallShield 5.5 Proffessional and kernel-mode drive rs
Mark,
the UseDLL stuff is pretty hard.
The best thing, that worked out for me, is to call a self written EXE with “LaunchAppAndWait”. The EXE performs the registration. Of course InstallShield doesn’t LOG those registry entries made, but I register a self written DLL (-c option), that will be called during uninstall, so I can unregister the driver entries. Here’s the way I register a self written DLL with uninstall operation ( I just change the UnInstall-Key):
----------------------
szKey = “Software\Microsoft\Windows\CurrentVersion\Uninstall\” + @UNINST_KEY;
if (RegDBGetKeyValueEx( szKey, “UninstallString”, nType, szPath, nSize) == 0) then
szPath = szPath + " -c"" + TARGETDIR + “\UnInstDLL.dll” + “"”;
svUnInstall = szPath;
RegDBSetKeyValueEx ( szKey, “UninstallString”, REGDB_STRING, szPath, -1);
endif;
----------------------
The UnInstDLL.dll has to import the following functions, that will be called during uninstall operation:
DWORD UninstInitialize(HWND hwndDlg, HINSTANCE hInstance, DWORD lReserved);
DWORD UninstUnInitialize(HWND hwndDlg, HINSTANCE hInstance, DWORD lReserved);
Look at the InstallShield docs for more information.
-----Original Message-----
From: Mark Twain [mailto:xxxxx@crosswinds.net]
Sent: Montag, 17. Juli 2000 13:49
To: File Systems Developers; xxxxx@gdata.de
Subject: Re: [ntfsd] RE: InstallShield 5.5 Proffessional and kernel-mode drive rs
Hi all, hi Frank!
The main problem is, that when I’m doing UnInstall, I want to remove these registry entries.
I should place Enable(LOGGING), so the changes can be saved during the uninstall.
How can I use the UseDLL function?
You mean to write a dll, which register driver?
If I do so, how can I remove the registry entries during the uninstall???
Best:
Mark
----- Original Message -----
From: Friemel, Frank
To: File Systems Developers
Sent: Monday, July 17, 2000 12:35 PM
Subject: [ntfsd] RE: InstallShield 5.5 Proffessional and kernel-mode drive rs
Hi Mark,
why don’t you just call another exe that, performs the registration with the service api? Or just use the service api directly with “UseDLL(WINSYSDIR ^ “advapi32.dll”)” command of InstallShield. I’ve done that, but it’s not very comfortable, because off pointer stuff.
regards
Frank
-----Original Message-----
From: Mark Twain [mailto:xxxxx@crosswinds.net]
Sent: Montag, 17. Juli 2000 13:19
To: File Systems Developers
Subject: [ntfsd] InstallShield 5.5 Proffessional and kernel-mode drivers
Hello all,
I have a big problem with the InstallShield Pro.
I want to register my kernel mode driver inside the InstallShield installation.
The InstallShield works with the registration of services and dll-s, but when I was trying to install it using the standart registry functions, it didn’t work.
The simplest way to make the registry changes is to write them manually, but there is one binary registry key, called security, which I can’t set from the InstallShield, because I didn’t know anything about the contents in this key.
If someone has been installing kernel mode driver using InstallShield, please respond…
Help…
Best:
Mark