kotkovets, пересматриваю ваш код по установке устройств, но есть странная особенность установка\обновление идет только в том случае если устройство уже установленно, если же оно не установленно ничего не происходит. Тестировался нижеследущий код XP Professional - все ок, XP Home - установка не проходит, в чем может быть проблема, непонятно, буду благодарен если посмотрите...
Код:

!define ERROR_NO_SUCH_DEVINST -536870389
!define SPOST_NONE 0
!define SPOST_PATH 1
!define SPOST_URL 2
!define SP_COPY_DELETESOURCE 0x1
!define SP_COPY_REPLACEONLY 0x2
!define SP_COPY_NOOVERWRITE 0x8
!define SP_COPY_OEMINF_CATALOG_ONLY 0x40000
!define CM_LOCATE_DEVNODE_NORMAL 0x00000000
!define CM_REENUMERATE_NORMAL 0
!define InstallDriver "!insertmacro InstallDriverCall"
!include "logiclib.nsh"
!macro InstallDriverCall HID INFPATH INFDIR
System::Store S
Push "${INFDIR}"
Push "${INFPATH}"
Push "${HID}"
DetailPrint "Rescan drivers..."
System::Call "cfgmgr32::CM_Locate_DevNode(*i.r0, n, i${CM_LOCATE_DEVNODE_NORMAL}) i.r1"
${If} $1 <> 0
StrCpy $1 1
${Else}
System::Call "cfgmgr32::CM_Reenumerate_DevNode (ir0, i${CM_REENUMERATE_NORMAL}) i.r1"
${IfThen} $1 <> 0 ${|}StrCpy $1 2${|}
${EndIf}
${If} $1 = 0
DetailPrint "Installing the driver..."
System::Call "newdev::UpdateDriverForPlugAndPlayDevices(i0, ts, tss, i0, *i0)?ei.s"
Pop $0
IntCmp $0 ${ERROR_NO_SUCH_DEVINST} 0 +2 +2
DetailPrint "The device is not plugged in, cannot update the driver."
${If} $0 = 0
System::Call "setupapi::SetupCopyOEMInf(ts, ts, i${SPOST_PATH}, i0, i0, i0, *i0, tn)i.r0"
IntCmp $0 1 0 +2 +2
DetailPrint "Istall driver success!"
IntCmp $0 0 0 +2 +2
DetailPrint "Istall driver error!"
${EndIf}
${ElseIf} $1 = 1
DetailPrint "An error occurred while trying to get the device instance for the machine"
${ElseIf} $1 = 2
DetailPrint "An error occurred while trying to refresh the device list"
${EndIf}
System::Store L
!macroend
OutFile InstDrv.exe
ShowInstDetails show
Section
# ${InstallDriver} "HWID" "путь к inf файлу" "папка с дровами"
${InstallDriver} "ROOT\RDPDR" "$WINDIR\inf\machine.inf" "$WINDIR\inf"
SectionEnd