Staging failure diagnosis

I have a software-only driver based on vhidmini.c that installs and works perfectly in XP, but installing it in Vista 64-bit is failing. Setupapi.dev.log has this:


inf: Opened INF: ‘C:\Windows\system32\DriverStore\Temp{a74eebc6-5859-4a2e-a171-a22484eb19e0}\Package\falconmouse.inf’ ([strings] )
sto: Machine Name =
sto: File Repository = C:\Windows\system32\DriverStore\FileRepository
sto: Repository = C:\Windows\system32\DriverStore\Repository
sto: Inf Path = C:\Windows\system32\DriverStore\Temp{a74eebc6-5859-4a2e-a171-a22484eb19e0}\Package\falconmouse.inf
sto: Architecture = amd64
sto: PackageRoot = C:\Windows\system32\DriverStore\Temp{a74eebc6-5859-4a2e-a171-a22484eb19e0}\Package
sto: Search Path = C:\Windows\system32\DriverStore\Temp{a74eebc6-5859-4a2e-a171-a22484eb19e0}\Package;C:\Windows\INF
sto: Flags = 0
sto: Package Hash = F1207D875C3CDCEF
sto: Signer Score = 0xff000000
sto: Digital Signer =
sto: Setting system restore point.
inf: Opened INF: ‘C:\Windows\system32\DriverStore\Temp{a74eebc6-5859-4a2e-a171-a22484eb19e0}\Package\falconmouse.inf’ ([strings] )
sto: {Staging Package To Driver Store - phase 1 exit(80070001)}
! inf: Add to Driver Store unsuccessful
! inf: Error 1: Incorrect function.
!!! inf: returning failure to SetupCopyOEMInf


The package is unsigned, but I have booted the target machine with driver signing disabled. I cannot find any documentation on the “Error 1: Incorrect function”. Where do I look?

Have you run chkinf on your INF? It might find some error that XP was
tolerant of but Vista isn’t.

You can also check the other setup log, setupapi.app.log. Whenever I have
install issues I usually backup and delete both setup logs and try the
install again, that way I don’t have to wade through the mess.

You didn’t mention if this wa a KMDF driver, if it is there’s a log for that
also.

-scott


Scott Noone
Consulting Associate
OSR Open Systems Resources, Inc.
http://www.osronline.com

wrote in message news:xxxxx@ntdev…
>I have a software-only driver based on vhidmini.c that installs and works
>perfectly in XP, but installing it in Vista 64-bit is failing.
>Setupapi.dev.log has this:
>
> …
> inf: Opened INF:
> ‘C:\Windows\system32\DriverStore\Temp{a74eebc6-5859-4a2e-a171-a22484eb19e0}\Package\falconmouse.inf’
> ([strings] )
> sto: Machine Name =
> sto: File Repository =
> C:\Windows\system32\DriverStore\FileRepository
> sto: Repository =
> C:\Windows\system32\DriverStore\Repository
> sto: Inf Path =
> C:\Windows\system32\DriverStore\Temp{a74eebc6-5859-4a2e-a171-a22484eb19e0}\Package\falconmouse.inf
> sto: Architecture = amd64
> sto: PackageRoot =
> C:\Windows\system32\DriverStore\Temp{a74eebc6-5859-4a2e-a171-a22484eb19e0}\Package
> sto: Search Path =
> C:\Windows\system32\DriverStore\Temp{a74eebc6-5859-4a2e-a171-a22484eb19e0}\Package;C:\Windows\INF
> sto: Flags = 0
> sto: Package Hash = F1207D875C3CDCEF
> sto: Signer Score = 0xff000000
> sto: Digital Signer =
> sto: Setting system restore point.
> inf: Opened INF:
> ‘C:\Windows\system32\DriverStore\Temp{a74eebc6-5859-4a2e-a171-a22484eb19e0}\Package\falconmouse.inf’
> ([strings] )
> sto: {Staging Package To Driver Store - phase 1
> exit(80070001)}
> ! inf: Add to Driver Store unsuccessful
> ! inf: Error 1: Incorrect function.
> !!! inf: returning failure to SetupCopyOEMInf
> …
>
> The package is unsigned, but I have booted the target machine with driver
> signing disabled. I cannot find any documentation on the “Error 1:
> Incorrect function”. Where do I look?
>

xxxxx@novint.com wrote:

I have a software-only driver based on vhidmini.c that installs and works perfectly in XP, but installing it in Vista 64-bit is failing. Setupapi.dev.log has this:

The package is unsigned, but I have booted the target machine with driver signing disabled. I cannot find any documentation on the “Error 1: Incorrect function”. Where do I look?

Forgive the obvious question, but did you actually build a 64-bit binary?


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Thanks for the quick responses. Yes, I’ve learned to delete the setupapi.*.log files before an install try. And I’ve cleaned up the .inf file after running ChkInf.

The answer to the obvious question is “No” I didn’t, because I had read one MSDN reference that seemed to say that unless I had architecture-specific behavior, I didn’t need to. But now that I look for a reference to back me up, all I find is contrary, so I guess I shall wander down that path and see where it takes me. Thanks for asking the obvious question. In retrospect, I now recall that the emphasis was on a single source tree for all architectures.