danielxu22
Posts: 1
Joined: Thu Apr 07, 2005 6:08 am

How to setup devcie driver in 64-bit OS

Hi, All,

My work is build a installation for 64-bit OS device driver's setup. Both Intel64 and AMD64. Now I have some devcie driver files, include .sys, .inf, and .cat files. And I use the new version of InstallShield 10.5 Premier to realize it in my porject.

I looked for some forums such as http://www.installshield.com, and http://www.installsite.org. But unfortunately, I can not found any useful information about 64-bit OS driver setup.

About InstallShield 10.5 Premier, it contains Device Driver Wizard component. I tried to use it. But it occurs error as following. I also set the value of General Information -> Summary Information Stream -> Template Summary as AMD64;1033, and set my files' Components -> 64-Bit Component as YES.

Image

I don't understand what it does mean. So I migrate other 32-bit OS InstallScript codes in my current project. It is failed too.
Some code just like:

prototype BOOL NEWDEV.UpdateDriverForPlugAndPlayDevicesA( //ASCII Version
NUMBER, //HWND hwndParent,
POINTER, //LPCSTR HardwareId,
POINTER, //LPCSTR FullInfPath,
POINTER, //DWORD InstallFlags,
POINTER, //PBOOL bRebootRequired OPTIONAL
);
prototype BOOL SETUPAPI.SetupCopyOEMInfA( // ASCII Version From SetupAPI.h
POINTER, //IN PCSTR SourceInfFileName,
POINTER, //IN PCSTR OEMSourceMediaLocation, OPTIONAL
POINTER, //IN DWORD OEMSourceMediaType,
POINTER, //IN DWORD CopyStyle,
POINTER, //OUT PSTR DestinationInfFileName, OPTIONAL
POINTER, //IN DWORD DestinationInfFileNameSize,
POINTER, //OUT PDWORD RequiredSize, OPTIONAL
POINTER, //OUT PSTR *DestinationInfFileNameComponent OPTIONAL
);

When I debug code in these two functions, UpdateDriverForPlugAndPlayDevicesA returns NO_ERROR.
SetupCopyOEMInfA return FALSE.

MSDN says:
NO_ERROR
The routine found a match for the HardwareId value, but the specified driver was not better than the current driver and the caller did not specify the INSTALLFLAG_FORCE flag.

My InstallFlags of UpdateDriverForPlugAndPlayDevicesA set value 0 and INSTALLFLAG_FORCE, it returns both NO_ERROR. I have no idea. :(

Maybe 64-Bit OS could not run InstallScript Codes. I don't know. Maybe UpdateDriverForPlugAndPlayDevicesA API dose not work in 64-Bit.

Needs experts' help. Thanks!

Best Regards,
Daniel

Return to “Common Problems”