【Inno Setup】Inno 与 驱动文件的安装

               

关于Inno与驱动文件的安装涉及到驱动文件的几个问题:

1:驱动文件是否拥有正规的数字签名(GlobalSign 公司可以提供,一个数字签名每一年都需要交几千块的服务费,感觉小公司不是很划算

2:Inno安装包是否要在64和32位机器上都能运行

准备工具:适合不同系统的Devcon.exe 和DPInst.exe 的不同版本,xp、win7、win8、win10;32、64,保证这个工具能在目标系统上正常运行。不能运行就到微软官网上去下:

Devcon 在Windows Driver Kit集成开发安装程序下就能找到,在目标系统上安装对应的Windows Driver Kit就能找到适合的Devcon 

DPInst 在DiFx工具包中


1、对于有正规数字签名的驱动

#define MyAppNameStep "SMQH Drivers"#define MyAppSoure "..\"[Setup]AppId={{D18BE24C-17FA-43FE-B107-429BF9B4906C}AppName={#MyAppNameStep}[Files];将所需文件复制到指定位置Source: "{#MyAppSoure}\Tool\DPInst\DPInst64.exe"; DestDir: "{sys}"; DestName: DPInst.exe;Flags: ignoreversion recursesubdirs createallsubdirs;Check: Is64BitInstallModeSource: "{#MyAppSoure}\Tool\DPInst\DPInst64.exe"; DestDir: "{app}"; DestName: DPInst.exe;Flags: ignoreversion recursesubdirs createallsubdirs;Check: Is64BitInstallModeSource: "{#MyAppSoure}\Tool\Devcon\devconWin10x64.exe"; DestDir: "{sys}"; DestName: Devcon.exe;Flags: ignoreversion recursesubdirs createallsubdirs;Check: Is64BitInstallModeSource: "{#MyAppSoure}\Tool\Devcon\devconWin10x64.exe"; DestDir: "{app}"; DestName: Devcon.exe;Flags: ignoreversion recursesubdirs createallsubdirs;Check: Is64BitInstallMode;将关键文件复制到特定位置Source: "{#MyAppSoure}\DriverFile\SMQH\x64\*"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs createallsubdirs;          Check: Is64BitInstallModeSource: "{#MyAppSoure}\DriverFile\SMQH\x64\my.sys"; DestDir: "{sys}\drivers"; Flags: ignoreversion recursesubdirs createallsubdirs;  Check: Is64BitInstallModeSource: "{#MyAppSoure}\DriverFile\SMQH\x64\my.inf"; DestDir: "{win}\inf"; Flags: ignoreversion recursesubdirs createallsubdirs;    Check: Is64BitInstallMode[Run]Filename: "{sys}\DPInst.exe"; WorkingDir: {app};Parameters: "/path ""{app}"" /sw /se ";Check: Is64BitInstallMode 

2、对于没有正规数字签名或没有数字签名的驱动

#define MyAppNameStep "SMQH Drivers"#define MyAppSoure "..\"[Setup]AppId={{D18BE24C-17FA-43FE-B107-429BF9B4906C}AppName={#MyAppNameStep}[Files];将所需文件复制到指定位置Source: "{#MyAppSoure}\Tool\DPInst\DPInst32.exe"; DestDir: "{sys}"; DestName: DPInst.exe;Flags: ignoreversion recursesubdirs createallsubdirs;Check: not Is64BitInstallModeSource: "{#MyAppSoure}\Tool\DPInst\DPInst32.exe"; DestDir: "{app}"; DestName: DPInst.exe;Flags: ignoreversion recursesubdirs createallsubdirs;Check: not Is64BitInstallModeSource: "{#MyAppSoure}\Tool\Devcon\devconWin7.exe"; DestDir: "{sys}"; DestName: Devcon.exe;Flags: ignoreversion recursesubdirs createallsubdirs;Check: not Is64BitInstallModeSource: "{#MyAppSoure}\Tool\Devcon\devconWin7.exe"; DestDir: "{app}"; DestName: Devcon.exe;Flags: ignoreversion recursesubdirs createallsubdirs;Check: not Is64BitInstallMode;将关键文件复制到特定位置Source: "{#MyAppSoure}\DriverFile\SMQH\x86\*"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs createallsubdirs;          Check: not Is64BitInstallModeSource: "{#MyAppSoure}\DriverFile\SMQH\x86\my.sys"; DestDir: "{sys}\drivers"; Flags: ignoreversion recursesubdirs createallsubdirs;  Check: not Is64BitInstallModeSource: "{#MyAppSoure}\DriverFile\SMQH\x86\my.inf"; DestDir: "{win}\inf"; Flags: ignoreversion recursesubdirs createallsubdirs;    Check: not Is64BitInstallMode[Run]Filename: "{sys}\devcon.exe"; Parameters: "dp_add  ""{app}\my.inf"" ";  Check: not Is64BitInstallMode Filename: "{sys}\devcon.exe"; Parameters: "update  ""{app}\my.inf"" USB\VID_1578&PID_0076";    Check: not Is64BitInstallMode Filename: "{sys}\devcon.exe"; Parameters: "rescan  ";   Check: not Is64BitInstallMode

其中:USB\VID_1578&PID_0076 是硬件ID或设备匹配ID,可以在inf文件中找到这个ID

3、如何使得Check: Is64BitInstallMode 生效,即如在控制32位或64位系统区别安装

[Setup]ArchitecturesInstallIn64BitMode=x64

4、安装或卸载后是否需要重启

[Setup];yes 总是重启       ;no 根据其他段的情况提示是否要重启(比如某个文件设置了restartreplace,并且在安装时被锁定替换失败,就会提示要重启)AlwaysRestart=yes;yes 卸载时总是要求重启       ;no 卸载时根据情况提示是否需要重启UninstallRestartComputer=yes  

5、单独安装INF文件

[Run]Filename: "{cmd}"; Parameters: "/c ""{sys}\rundll32.exe  advpack.dll,LaunchINFSection {win}\inf\my.inf,外部参数调用""";Flags:hidewizard runhidden  ;   Check: Is64BitInstallMode 




           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/qq_43746676/article/details/86647343