About oem.inf file

Hello,

We had a impression that oem#.inf is created
because our driver is not signed. But after signing
the driver also the oem#.inf file is created. We were
expecting the orginal file i.e xyz.inf(xyz.inf is our
original file) should be created in windows\inf
folder. Even the cat file created was oem#.cat in
system32\catroot. Can you please clarify me what is
going wrong. Why oem#.inf is created instead of
xyz.inf

Regards
Ravi


Yahoo! India Answers: Share what you know. Learn something new
http://in.answers.yahoo.com/

The OEMxx.INF/PNF copies are created by Windows either when you preinstall the drivers or when you do a device installation and manually point the hardware wizard to the drivers.

It doesn’t have anything to do with whether the drivers are signed, or not. The behavior you’re seeing is normal.

(Hint: because you’ve lost the filename of your INF, include a cookie somewhere in it so it can be intelligently cleaned up later.)

Hello,

Thanks for the reply. But then i want to know what
is the method that one should follow so that the inf
file name must be xyz.inf not oem#.inf. And same with
cat file.
To do this whether we need to add some code in inf
or in driver?.

Regards
Ravi
xxxxx@gmail.com wrote:

The OEMxx.INF/PNF copies are created by Windows
either when you preinstall the drivers or when you
do a device installation and manually point the
hardware wizard to the drivers.

It doesn’t have anything to do with whether the
drivers are signed, or not. The behavior you’re
seeing is normal.

(Hint: because you’ve lost the filename of your INF,
include a cookie somewhere in it so it can be
intelligently cleaned up later.)


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR
Online at
http://www.osronline.com/page.cfm?name=ListServer


Yahoo! India Answers: Share what you know. Learn something new
http://in.answers.yahoo.com/

Ravi wrote:

Thanks for the reply. But then i want to know what
is the method that one should follow so that the inf
file name must be xyz.inf not oem#.inf. And same with
cat file.

Well, the implication is that there is no officially sanctioned way to do that. When you properly install the drivers, you get a few things:

  1. The .PNF will know where the files for the driver package are (.sys, any coinstallers, etc.)

  2. The catalog file will be added to your CatRoot

and so on.

Why do you want the files to not be named OEMxx.INF once they are installed?

Hello,

I was concern about update and reinstalltion.
During update or uninstallation the older oem#.inf is
not deleted. And new oem#.inf is generated. So
maintenance becomes bit complicated. Please go through
conclusion too.

Case study:-

Assume that user installs driver version 1.0.0 from
location c:\driver100\

Now he unistall the driver version 1.0.0.

After some days he installs driver version 2.0.0 from
location c:\driver200\ but through some third party
application like DPinstall which stores the oem
number.

Now he had two OEM i.e oem1.inf oem1.pnf and oem2.inf
and oem2.inf in his WINDOWS\INF directory.

The oem number 2 is stored in dpinstall
memory(Cookie).

Now user uninstalls the driver 2.0.0 through dpinstall
which automatically deletes the oem2.inf and oem2.pnf.

But in WINDOWS\INF directory it has still oem1.inf and
oem1.pnf. So now if user reboots the system. the os
will find new device and will ask to install it. And
if user say recommended path it will find oem1.inf and
will load the driver form c:\driver100.

But version 1.0.0 has bugs. Now customer in trouble
unknowingly.

Conclusion

So to conclude if their would be single name of inf
i.e xyz.inf which would be stored in windows\inf
directory then during update or reinstall older
xyz.inf would automatically get replaced.

And i had seen some pci drivers which are able to
place their inf file in inf dir with their original
inf name. So how they do it?

Regards
Ravi

xxxxx@gmail.com wrote:

Ravi wrote:

> Thanks for the reply. But then i want to know
what
> is the method that one should follow so that the
inf
> file name must be xyz.inf not oem#.inf. And same
with
> cat file.

Well, the implication is that there is no officially
sanctioned way to do that. When you properly
install the drivers, you get a few things:

  1. The .PNF will know where the files for the
    driver package are (.sys, any coinstallers, etc.)

  2. The catalog file will be added to your CatRoot

and so on.

Why do you want the files to not be named OEMxx.INF
once they are installed?


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR
Online at
http://www.osronline.com/page.cfm?name=ListServer


Yahoo! India Answers: Share what you know. Learn something new
http://in.answers.yahoo.com/

Ravi wrote:

I was concern about update and reinstalltion.
During update or uninstallation the older oem#.inf is
not deleted. And new oem#.inf is generated. So
maintenance becomes bit complicated.

Well, yes, it does become a little bit complicated. There’s no doubt about that. The case study that you gave is a completely valid scenario, and it (along with many others) needs to be managed appropriately – but forcing the INF filename is not the answer.

The short answer is that if you want to do this entirely correctly, you’ll need to develop an installer executable that you package along with your drivers themselves.

For example, the drivers could be packaged in an MSI that will install them maybe to somewhere under, say, C:\Program Files, and the executable (which can run as a post-action) will be responsible for 1) preinstalling the latest drivers, 2) ensuring that all devices on the system are updated to those drivers (take your pick of APIs/methods here), and 3) removing any copies of old drivers.

You asked how some drivers in %INF% have their real names. My best guess is either 1) they were packaged with the OS, or 2) their installer is misbehaving.

> Assume that user installs driver version 1.0.0 from

location c:\driver100\

Now he unistall the driver version 1.0.0.

How does the user uninstall driver version 1.0.0 in the scenario you
describe above? There are tools available that will uninstall the driver for
you and they will remove oem1.inf in the appropriate way (by calling
SetupUninstallOEMInf API). Examples of such tools are - devcon.exe and the
DIFx tools. Both are available in the Windows Driver Kit (WDK). Using those
tools will avoid the problem you describe in your scenario. Or if you are
writing your own uninstall program, you can use the SetupUninstallOEMInf API
to remove the oemX.inf. Please do not delete it directly - use the API
instead. It helps keep Windows PnP is a clean state.

Thanks,
Abhishek

“Ravi Agrawal” wrote in message
news:xxxxx@ntdev…
> Hello,
>
> I was concern about update and reinstalltion.
> During update or uninstallation the older oem#.inf is
> not deleted. And new oem#.inf is generated. So
> maintenance becomes bit complicated. Please go through
> conclusion too.
>
> Case study:-
> ==========
> Assume that user installs driver version 1.0.0 from
> location c:\driver100<br>>
> Now he unistall the driver version 1.0.0.
>
> After some days he installs driver version 2.0.0 from
> location c:\driver200\ but through some third party
> application like DPinstall which stores the oem
> number.
>
> Now he had two OEM i.e oem1.inf oem1.pnf and oem2.inf
> and oem2.inf in his WINDOWS\INF directory.
>
> The oem number 2 is stored in dpinstall
> memory(Cookie).
>
> Now user uninstalls the driver 2.0.0 through dpinstall
> which automatically deletes the oem2.inf and oem2.pnf.
>
> But in WINDOWS\INF directory it has still oem1.inf and
> oem1.pnf. So now if user reboots the system. the os
> will find new device and will ask to install it. And
> if user say recommended path it will find oem1.inf and
> will load the driver form c:\driver100.
>
> But version 1.0.0 has bugs. Now customer in trouble
> unknowingly.
>
> Conclusion
> ==========
> So to conclude if their would be single name of inf
> i.e xyz.inf which would be stored in windows\inf
> directory then during update or reinstall older
> xyz.inf would automatically get replaced.
>
> And i had seen some pci drivers which are able to
> place their inf file in inf dir with their original
> inf name. So how they do it?
>
> Regards
> Ravi
>
> — xxxxx@gmail.com wrote:
>
>> Ravi wrote:
>>
>> > Thanks for the reply. But then i want to know
>> what
>> > is the method that one should follow so that the
>> inf
>> > file name must be xyz.inf not oem#.inf. And same
>> with
>> > cat file.
>>
>> Well, the implication is that there is no officially
>> sanctioned way to do that. When you properly
>> install the drivers, you get a few things:
>>
>> 1) The .PNF will know where the files for the
>> driver package are (.sys, any coinstallers, etc.)
>>
>> 2) The catalog file will be added to your CatRoot
>>
>> and so on.
>>
>> Why do you want the files to not be named OEMxx.INF
>> once they are installed?
>>
>> —
>> Questions? First check the Kernel Driver FAQ at
>> http://www.osronline.com/article.cfm?id=256
>>
>> To unsubscribe, visit the List Server section of OSR
>> Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>>
>
>
>
>
> __________________________________________________________
> Yahoo! India Answers: Share what you know. Learn something new
> http://in.answers.yahoo.com/
>

Abhishek R wrote:

> Assume that user installs driver version 1.0.0 from
> location c:\driver100\
>
> Now he unistall the driver version 1.0.0.
>

How does the user uninstall driver version 1.0.0 in the scenario you
describe above? There are tools available that will uninstall the driver for
you and they will remove oem1.inf in the appropriate way (by calling
SetupUninstallOEMInf API). Examples of such tools are - devcon.exe and the
DIFx tools. Both are available in the Windows Driver Kit (WDK). Using those
tools will avoid the problem you describe in your scenario.

Unless things have changed, I don’t believe that “devcon remove”
actually removes the INF.


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

Hello,

Thanks for guidance. I am convinced that one
need to take care of this issues during
uninstallation.

Regards
Ravi


Yahoo! India Answers: Share what you know. Learn something new
http://in.answers.yahoo.com/