I downloaded the DDK RTM for Vista today and successfully builded com0com for amd64. Using NSIS for generating the setup.exe didn't function correctly. This is why I manually copied the .inf, .sys, setup.bat and setup.dll to a seperate directory on my hdd.
Running setup.bat functions correctly, but if I try something like "install - -" I always get this error message:
UpdateDriverForPlugAndPlayDevices()
ERROR: 0x00000103 Es sind keine Daten mehr verfügbar.
(translated: No more data available.)
Does anyone have an idea how I could solve this problem or how / whether it is possible to install com0com on Vista x64?
Thank you
betasheet
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
By now, I could determine that this error is ERROR_NO_MORE_ITEMS of function UpdateDriverForPlugAndPlayDevices().
On MSDN it says that ERROR_NO_MORE_ITEMS means "The function found a match for the HardwareId value, but the specified driver was not a better match than the current driver and the caller did not specify the INSTALLFLAG_FORCE flag.".
But as I see in your source code, you did specify the INSTALLFLAG_FORCE flag.
Do you know, why this error is raised?
Thank you :-)
betasheet
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I just tried to install the driver manually as written in the Readme of com0com-1.6.0.0.
Vista says, that the driver is not for the 64-bit version of Windows Vista.
Maybe there's something that has to be changed in the .inf file?
Thank you
betasheet
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Second, if you want to install 32/64 on a single package,
tell the system to copy from different sources
--------------------------------------------------------------------
[SourceDisksNames.amd64]
1 = %DiskId1%,,,.\x64 ; for amd64
[SourceDisksNames.x86]
1 = %DiskId1%,,,.\x86 ; for x86
---------------------------------------------------------------------
that's it.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
With the URL you sent us, I had been able in the meantime to guess the right changes to the .inf file but I must say that I have been so far unable to make the driver work correctly on my Vista 64 machine. So I did not know if the problem came from my .inf or something else and with your indications, I know now that my inf is OK.
By booting Vista in "accept unsigned" drivers mode, the devices are recognized and marked as "working well" by Windows but my test applications do not work... they do work fine on Vista 32 bits but not in Vista 64 :-(
I'll try to install a XP 64 on a dual boot to check how it works there.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hiho @all,
I downloaded the DDK RTM for Vista today and successfully builded com0com for amd64. Using NSIS for generating the setup.exe didn't function correctly. This is why I manually copied the .inf, .sys, setup.bat and setup.dll to a seperate directory on my hdd.
Running setup.bat functions correctly, but if I try something like "install - -" I always get this error message:
UpdateDriverForPlugAndPlayDevices()
ERROR: 0x00000103 Es sind keine Daten mehr verfügbar.
(translated: No more data available.)
Does anyone have an idea how I could solve this problem or how / whether it is possible to install com0com on Vista x64?
Thank you
betasheet
By now, I could determine that this error is ERROR_NO_MORE_ITEMS of function UpdateDriverForPlugAndPlayDevices().
On MSDN it says that ERROR_NO_MORE_ITEMS means "The function found a match for the HardwareId value, but the specified driver was not a better match than the current driver and the caller did not specify the INSTALLFLAG_FORCE flag.".
But as I see in your source code, you did specify the INSTALLFLAG_FORCE flag.
Do you know, why this error is raised?
Thank you :-)
betasheet
Did you turned off the User Account Control (UAC)?
Did you tried to install it manually (like com0com-1.6.0.0)?
Yes, UAC has been turned off all time.
I just tried to install the driver manually as written in the Readme of com0com-1.6.0.0.
Vista says, that the driver is not for the 64-bit version of Windows Vista.
Maybe there's something that has to be changed in the .inf file?
Thank you
betasheet
http://msdn2.microsoft.com/en-us/library/aa906338.aspx
"By default, x64-based versions of Windows Vista will load a kernel-mode driver only if the kernel can verify the driver signature."
Try to disable load-time enforcement of a valid driver signature.
Tried it with attached kernel debugger, and I also added DDISABLE_INTEGRITY_CHECKS to the loadoptions of bcdedit.
This shouldn't be a problem. It's not, that Vista refuses to install the driver, but says that's one not valid for x64...
Couldn't there be anything that has to be changed in the .inf file to get this working?
Thanks
betasheet
Hi betasheet,
I am also running Vista 64... did you manage to make it work on this platform ?
thanks,
alain
hi all,
the inf file needs to be modified to install on 64bit platforms.
you can refer to 'inf file platform extensions and x64-based systems' in WDK.
then you will get rid of the error messages.
good luck
Hi Vincent21,
thanks for the pointer... but if you already have a working inf for this driver under Vista 64, it would be even simpler for us if you shared it :-)
thanks,
Alain
I modified the inf a lot more than you think.
So it's better to post some critical sections for you guy to reference.
First,
----------------------------------------------------------
[Manufacturer]
%VF% = VF.Mfg,ntamd64 -> very important
[VF.Mfg.ntamd64] -> add this section
%com0com.BusDesc% = com0com_inst, root\com0com
%com0com.PortDesc% = com0com_inst_port, com0com\port
---------------------------------------------------------
Second, if you want to install 32/64 on a single package,
tell the system to copy from different sources
--------------------------------------------------------------------
[SourceDisksNames.amd64]
1 = %DiskId1%,,,.\x64 ; for amd64
[SourceDisksNames.x86]
1 = %DiskId1%,,,.\x86 ; for x86
---------------------------------------------------------------------
that's it.
thanks for your indications.
With the URL you sent us, I had been able in the meantime to guess the right changes to the .inf file but I must say that I have been so far unable to make the driver work correctly on my Vista 64 machine. So I did not know if the problem came from my .inf or something else and with your indications, I know now that my inf is OK.
By booting Vista in "accept unsigned" drivers mode, the devices are recognized and marked as "working well" by Windows but my test applications do not work... they do work fine on Vista 32 bits but not in Vista 64 :-(
I'll try to install a XP 64 on a dual boot to check how it works there.