Talk:Driver installation and update: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 11: | Line 11: | ||
[[User:Rafael Vargas|Rafael Vargas]] 09:37, 27 August 2008 (PDT) | [[User:Rafael Vargas|Rafael Vargas]] 09:37, 27 August 2008 (PDT) | ||
Code that should be added to '''drvsetup.nsh''' (values taken from newdev.h): | |||
<highlight-nsis> | |||
!define INSTALLFLAG_FORCE 0x1 | |||
!define INSTALLFLAG_READONLY 0x2 | |||
!define INSTALLFLAG_NONINTERACTIVE 0x4 | |||
</highlight-nsis> | |||
== Alternative to GetWindowsVersion == | == Alternative to GetWindowsVersion == |
Revision as of 15:49, 16 December 2008
Extra functionality
I've used this function to install drivers. And in some circumstances I had to install an older driver over a new one, for this, i've changed the fourth parameter (flags) to 1 (INSTALLFLAG_FORCE) and it did the work.
System::Call '${sysUpdateDriverForPlugAndPlayDevices}?e (0, R0, R1, 1, 0) .r0'
Maybe someone could add the this as an optional functionality to this function...
Rafael Vargas 09:37, 27 August 2008 (PDT)
Code that should be added to drvsetup.nsh (values taken from newdev.h):
!define INSTALLFLAG_FORCE 0x1 !define INSTALLFLAG_READONLY 0x2 !define INSTALLFLAG_NONINTERACTIVE 0x4
Alternative to GetWindowsVersion
Instead of using the following block of code:
; Get the Windows version Call GetWindowsVersion Pop $R3 ; Windows Version ;DetailPrint 'Windows Version: $R3' StrCmp $R3 '2000' lbl_upgrade StrCmp $R3 'XP' lbl_upgrade StrCmp $R3 '2003' lbl_upgrade DetailPrint "Windows $R3 doesn't support automatic driver updates."
You could use this one (built-in function in winver.nsh):
${If} ${AtLeastWin2000} Goto lbl_upgrade ${EndIf} DetailPrint "This Windows version doesn't support automatic driver updates."
If you use it, $R3 will be empty so make sure all the places were it is shown are modified.