George Hester said:
Thank you very much Alex. Although the first was "wrong" that is what the
installation of DivX 6 put in the resgistry for reboot. RunOnce. Windows
2000 SP3. But I knew I could do what looked to be the same thing right in
Run | regsvr32 divxdec.ax | OK. But I thought I'd ask about it first.
There is a very good reason for this. When an INF file puts rundll32 into
a RunOnce key, the device manager runs the commands as soon as the
installation ends, without a reboot. If an INF file puts anything other
than rundll32 into a RunOnce key, a reboot is required.
Because of that, ChkInf will fail any RunOnce command other than rundll32,
which means the driver cannot be signed.
The fact that the function signature doesn't match causes a general
protection fault in rundll32 when the DLL function returns, but the
exception is trapped and ignored. This is the "official" and approved
method of registering DLLs in an INF.