Installing your Driver

Home Forums Discussions Support Installing your Driver

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #5398
    vampie
    Participant

      We have inno setup installer based setup file,
      What are the basic commands for installing and registering your driver
      just driver not your samples, sources etc.

      Thanks.

      #7156
      Vadim Smirnov
      Keymaster

        That depends from the OS you installing on. The functions for NSIS installer are below:

        ######################################
        Function InstallNDISHookDriverNT2000XP
        ######################################
        SetOutPath $SYSDIRdrivers
        File ......Kernelbinhookdrvi386ndisrd.sys
        !insertmacro CreateRegKey ${HKEY_LOCAL_MACHINE} SystemCurrentControlSetServicesndisrd
        WriteRegDWORD HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesndisrd Start 1
        WriteRegDWORD HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesndisrd Type 1
        WriteRegDWORD HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesndisrd ErrorControl 1
        ${If} ${IsWinNT4}
        WriteRegStr HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesndisrd Group "Network"
        ${Else}
        WriteRegStr HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesndisrd Group "Streams Drivers"
        ${EndIf}
        SetRebootFlag true
        FunctionEnd
        ######################################

        ################################
        Function InstallNDISHookDriver9x
        ################################
        SetOutPath $WINDIRsystem
        File ......Kernelbinhookdrvwin9xndisrd.vxd
        !insertmacro CreateRegKey ${HKEY_LOCAL_MACHINE} SystemCurrentControlSetServicesVxDndisrd
        WriteRegStr HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetServicesVxDndisrd StaticVxD "ndisrd.vxd"
        SetRebootFlag true
        FunctionEnd
        ################################

        ############################
        Function InstallNDISIMDriver
        ############################
        SetOutPath $INSTDIRinstimtmp
        ${If} ${RunningX64}
        File ......Setupbinamd64DriverSigning.exe
        File ......Setupbinamd64snetcfg.exe
        File ......KernelINFndisrd.inf
        File ......KernelINFndisrd_m.inf
        File ......Kernelbinimdrvamd64ndisrd.sys
        ${Else}
        File ......Setupbini386DriverSigning.exe
        File ......Setupbini386snetcfg.exe
        File ......KernelINFndisrd.inf
        File ......KernelINFndisrd_m.inf
        File ......Kernelbinimdrvi386ndisrd.sys
        ${EndIf}

        nsExec::ExecToLog /OEM '"$INSTDIRinstimtmpDriverSigning.exe" /verbose /off'
        nsExec::ExecToLog /OEM '"$INSTDIRinstimtmpsnetcfg.exe" -v -l ndisrd.inf -m ndisrd_m.inf -c s -i nt_ndisrd'
        nsExec::ExecToLog /OEM '"$INSTDIRinstimtmpDriverSigning.exe" /verbose /on'

        SetOutPath $INSTDIR
        RMDir /r /REBOOTOK $INSTDIRinstimtmp
        FunctionEnd
        ############################

        ########################
        Function InstallLWFVista
        ########################
        SetOutPath $INSTDIRinstlwftmp
        ${If} ${RunningX64}
        File ......Setupbinamd64snetcfg.exe
        File ......Setupbinamd64certinst.exe
        File ......Kernelbinlwfvistaamd64packagendisrd_lwf.inf
        File ......Kernelbinlwfvistaamd64packagendisrd.cat
        File ......Kernelbinlwfvistaamd64packagendisrd.sys
        ${Else}
        File ......Setupbini386snetcfg.exe
        File ......Setupbini386certinst.exe
        File ......Kernelbinlwfvistai386packagendisrd_lwf.inf
        File ......Kernelbinlwfvistai386packagendisrd.cat
        File ......Kernelbinlwfvistai386packagendisrd.sys
        ${EndIf}

        File ......Setupcertroot.cer
        nsExec::ExecToLog /OEM '"$INSTDIRinstlwftmpcertinst.exe" "$INSTDIRinstlwftmproot.cer"'
        nsExec::ExecToLog /OEM '"$INSTDIRinstlwftmpsnetcfg.exe" -v -l ndisrd_lwf.inf -c s -i nt_ndisrd'

        SetOutPath $INSTDIR
        RMDir /r /REBOOTOK $INSTDIRinstlwftmp
        FunctionEnd
        ########################

        ####################
        Function InstallLWF7
        ####################
        SetOutPath $INSTDIRinstlwftmp
        ${If} ${RunningX64}
        File ......Setupbinamd64snetcfg.exe
        File ......Setupbinamd64certinst.exe
        File ......Kernelbinlwfwin7amd64packagendisrd_lwf.inf
        File ......Kernelbinlwfwin7amd64packagendisrd.cat
        File ......Kernelbinlwfwin7amd64packagendisrd.sys
        ${Else}
        File ......Setupbini386snetcfg.exe
        File ......Setupbini386certinst.exe
        File ......Kernelbinlwfwin7i386packagendisrd_lwf.inf
        File ......Kernelbinlwfwin7i386packagendisrd.cat
        File ......Kernelbinlwfwin7i386packagendisrd.sys
        ${EndIf}

        File ......Setupcertroot.cer
        nsExec::ExecToLog /OEM '"$INSTDIRinstlwftmpcertinst.exe" "$INSTDIRinstlwftmproot.cer"'
        nsExec::ExecToLog /OEM '"$INSTDIRinstlwftmpsnetcfg.exe" -v -l ndisrd_lwf.inf -c s -i nt_ndisrd'

        SetOutPath $INSTDIR
        RMDir /r /REBOOTOK $INSTDIRinstlwftmp
        FunctionEnd
        ####################

        ####################
        Function InstallLWF8
        ####################
        SetOutPath $INSTDIRinstlwftmp
        ${If} ${RunningX64}
        File ......Setupbinamd64snetcfg.exe
        File ......Setupbinamd64certinst.exe
        File ......Kernelbinlwfwin8amd64packagendisrd_lwf.inf
        File ......Kernelbinlwfwin8amd64packagendisrd.cat
        File ......Kernelbinlwfwin8amd64packagendisrd.sys
        ${Else}
        File ......Setupbini386snetcfg.exe
        File ......Setupbini386certinst.exe
        File ......Kernelbinlwfwin8i386packagendisrd_lwf.inf
        File ......Kernelbinlwfwin8i386packagendisrd.cat
        File ......Kernelbinlwfwin8i386packagendisrd.sys
        ${EndIf}

        File ......Setupcertroot.cer
        nsExec::ExecToLog /OEM '"$INSTDIRinstlwftmpcertinst.exe" "$INSTDIRinstlwftmproot.cer"'
        nsExec::ExecToLog /OEM '"$INSTDIRinstlwftmpsnetcfg.exe" -v -l ndisrd_lwf.inf -c s -i nt_ndisrd'

        SetOutPath $INSTDIR
        RMDir /r /REBOOTOK $INSTDIRinstlwftmp
        FunctionEnd
        ####################

        #############################
        Function InstallNDISLWFDriver
        #############################
        SetOutPath $INSTDIRinstlwftmp

        ${If} ${IsWinVista}
        ${OrIf} ${IsWin2008}
        call InstallLWFVista
        Return
        ${EndIf}

        ${If} ${IsWin7}
        ${OrIf} ${IsWin2008R2}
        call InstallLWF7
        Return
        ${EndIf}

        call InstallLWF8
        FunctionEnd
        #############################

        #################################
        Function InstallWinpkFilterDriver
        #################################
        ${If} ${AtLeastWinVista}
        call InstallNDISLWFDriver
        GoTo post
        ${EndIf}

        StrCmp $bIMUsed "1" 0 +3
        call InstallNDISIMDriver
        GoTo post
        ${If} ${RunningX64}
        ${OrIf} ${AtLeastWinXP}
        call InstallNDISIMDriver
        ${ElseIf} ${IsNT}
        call InstallNDISHookDriverNT2000XP
        ${Else}
        call InstallNDISHookDriver9x
        ${EndIf}

        post:

        #Kernel components
        SetOutPath $INSTDIRKernelbindlli386
        File ......Kernelbindlli386ndisapi.dll
        File ......Kernelbindlli386ndisapi.lib

        SetOutPath $INSTDIRKernelbindllamd64
        File ......Kernelbindllamd64ndisapi.dll
        File ......Kernelbindllamd64ndisapi.lib

        WriteRegStr HKLM "${REGKEY}" NDISIMUsed $bIMUsed
        WriteRegStr HKLM "${REGKEY}Components" Main $availDrv

        Call EnableRouter

        FunctionEnd
        #################################
        #7157
        vampie
        Participant

          Hello,

          We decided to use your silent installing from your setup.
          Could you please provide us NON REBOOTING version of setup.exe ?

          We need this because after your setup we will setup our product without rebooting and then our setup will reboot machine.

          Thanks,

          #7158
          Vadim Smirnov
          Keymaster

            For this request please contact support(at)ntkernel.com with other details.

          Viewing 4 posts - 1 through 4 (of 4 total)
          • You must be logged in to reply to this topic.