I found the answer. Here it is for those who may run into the same problem.
Code:
external prototype BOOL NewDev.UpdateDriverForPlugAndPlayDevicesA(HWND, // HWND hwndParent,
BYVAL STRING, // LPCTSTR HardwareId,
BYVAL STRING, // LPCTSTR FullInfPath,
LONG, // DWORD InstallFlags,
POINTER // PBOOL bRebootRequired OPTIONAL
);
strDLL = WINSYSDIR ^ "NewDev.dll";
strTemp = WINDIR ^ "INF\\MyUSBDevice.inf";
nResult = UseDLL(strDLL);
if (nResult = 0) then
nHwnd = GetWindowHandle (HWND_INSTALL);
bResult = UpdateDriverForPlugAndPlayDevicesA(nHwnd,
"USB\\VID_04FA&PID_2490",
strTemp,
1,
NULL);
UnUseDLL(strDLL);
endif;
Please keep in mind that this works only because I modified the inf file not to copy any files into place. My merge module did that for me. I hope this helps others. Also, the function call is a Win32 call. It is documented in the MSDN library.