Inno Setup:在安装过程中重新启动不会在重启后开始

疯狂金属

我做了使用Inno Setup的一个安装程序,我需要重新启动计算机的某些文件被运行后,所以我用从溶液中这个职位

创新的安装示例“ CodePrepareToInstall.iss ”可以正常工作,因此我在测试安装中使用了该代码,但计算机重启后无法启动安装程序。

这两个安装程序(inno演示和我的测试)都在“ HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnce ”中添加了一个注册表项,唯一的区别是增加了价值。我的st声比inno演示中添加的字符串长得多。

注册表/ runonce是否有价值限制?

Inno Demo Value:
"C:\Users\Admin\Documents\Inno Setup Examples Output\setup.exe" /restart=1 /LANG=default /DIR="C:\Program Files (x86)\My Program" /GROUP="My Program"

My Installer Value:
"C:\Users\Admin\Documents\Inno Setup Projekte\Treiber Test\bin\Driver Test Setup.exe" /restart=1 /LANG=german /DIR="C:\Driver" /GROUP="Driver Test Setup" /TYPE="full" /COMPONENTS="1234driverinstaller,audio,bluetooth,chipset,devicepowermanager,gps,inputmanagementservice,modem,lan,1234powerplan,touchscreen,vga,wlan,wwan,1234products"
疯狂金属

弄清楚了。Windows从HKLU或HKLM中的RunOnce注册表运行的命令限制为256个字符。

因此,我决定创建一个批处理文件来启动我的安装程序,然后自行删除它。因此,我只需要将批处理的路径传递给RunOnce注册表。

InnoScript:

procedure CreateRunOnceEntry;
var
    RunOnceData: String;
begin
    RunOnceData := 'echo off' + #13#10;
    RunOnceData := RunOnceData + 'start "" ';
    RunOnceData := RunOnceData + Quote(ExpandConstant('{srcexe}')) + ' /restart=1';
    RunOnceData := AddParam(RunOnceData, 'LANG', ExpandConstant('{language}'));
    RunOnceData := AddParam(RunOnceData, 'DIR', Quote(WizardDirValue));
    RunOnceData := AddParam(RunOnceData, 'GROUP', Quote(WizardGroupValue));
    if WizardNoIcons then
        RunOnceData := AddSimpleParam(RunOnceData, 'NOICONS');
    RunOnceData := AddParam(RunOnceData, 'TYPE', Quote(WizardSetupType(False)));
    RunOnceData := AddParam(RunOnceData, 'COMPONENTS', Quote(WizardSelectedComponents(False)));
    RunOnceData := AddParam(RunOnceData, 'TASKS', Quote(WizardSelectedTasks(False)));
    RunOnceData := RunOnceData + #13#10 + 'start /b cmd.exe /c del %0' + #13#10 + 'exit';

    SaveStringToFile(ExpandConstant('{commonappdata}\StartInstallation.cmd'), RunOnceData, True);

    if not IsWin64 then
        RegWriteStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\RunOnce', RunOnceName, ExpandConstant('{commonappdata}\StartInstallation.cmd'));
    if IsWin64 then
        RegWriteStringValue(HKLM, 'Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce', RunOnceName, ExpandConstant('{commonappdata}\StartInstallation.cmd'));
end;

批处理文件:

echo off
start "" "C:\Users\Admin\Documents\Inno Setup Projekte\Treiber Test\bin\Driver Test Setup.exe" /restart=1 /LANG=german /DIR="C:\Driver" /GROUP="Driver Test Setup" /TYPE="full" /COMPONENTS="1234driverinstaller,audio,bluetooth,chipset,devicepowermanager,gps,inputmanagementservice,modem,lan,1234powerplan,touchscreen,vga,wlan,wwan,1234products"
start /b cmd.exe /c del %0
exit

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Inno Setup安装JRE?

来自分类Dev

Inno Setup:在设置过程中重新启动

来自分类Dev

强制Inno安装程序在安装过程中显示UAC提示

来自分类Dev

Inno Setup语法-OR,AND

来自分类Dev

inno setup中的“ Not in a loop”错误

来自分类Dev

Inno Setup到底如何强制重启

来自分类Dev

使用inno-setup在安装过程中显示文本

来自分类Dev

在Inno Setup中取消安装

来自分类Dev

Inno Setup中的TTreeView

来自分类Dev

Inno Setup中的条件DisableProgramGroupPage

来自分类Dev

未捕获Inno Setup异常

来自分类Dev

在Inno Setup中从过程调用函数?

来自分类Dev

Inno Setup ComponentsList OnClick事件

来自分类Dev

Inno Setup:在卸载过程中从安装程序读取文件

来自分类Dev

通过Inno Setup创建的安装程序无法在Windows 10上的安装过程中关闭应用程序

来自分类Dev

在静默安装过程中,Inno Setup将锁定的文件替换为下一次重新启动

来自分类Dev

如何在Inno Setup中的安装后强制重启

来自分类Dev

在Inno Setup中安装部分后,如何移动任务部分?

来自分类Dev

用于Inno设置的DwinsHs:编辑URL的HTTP_HEADER常量以在安装过程中下载

来自分类Dev

Inno Setup:在卸载过程中重新启动后删除文件夹

来自分类Dev

如何使用重新启动管理器在Inno Setup卸载中关闭然后重新启动explorer.exe?

来自分类Dev

在Inno Setup的安装过程中写入Node app .js配置

来自分类Dev

Inno Setup:加载在安装过程中为wpInfoAfter编辑的文件

来自分类Dev

Inno Setup:加载在安装过程中为wpInfoAfter编辑的文件

来自分类Dev

在Inno Setup中记录TWindowsVersion

来自分类Dev

安装字体后,Inno Setup是否需要重新启动?

来自分类Dev

Inno安装程序在安装过程中执行大的sql脚本文件

来自分类Dev

重新启动后,Inno Setup要求管理员登录才能完成

来自分类Dev

Inno Setup 中的动态密码

Related 相关文章

  1. 1

    如何从Inno Setup安装JRE?

  2. 2

    Inno Setup:在设置过程中重新启动

  3. 3

    强制Inno安装程序在安装过程中显示UAC提示

  4. 4

    Inno Setup语法-OR,AND

  5. 5

    inno setup中的“ Not in a loop”错误

  6. 6

    Inno Setup到底如何强制重启

  7. 7

    使用inno-setup在安装过程中显示文本

  8. 8

    在Inno Setup中取消安装

  9. 9

    Inno Setup中的TTreeView

  10. 10

    Inno Setup中的条件DisableProgramGroupPage

  11. 11

    未捕获Inno Setup异常

  12. 12

    在Inno Setup中从过程调用函数?

  13. 13

    Inno Setup ComponentsList OnClick事件

  14. 14

    Inno Setup:在卸载过程中从安装程序读取文件

  15. 15

    通过Inno Setup创建的安装程序无法在Windows 10上的安装过程中关闭应用程序

  16. 16

    在静默安装过程中,Inno Setup将锁定的文件替换为下一次重新启动

  17. 17

    如何在Inno Setup中的安装后强制重启

  18. 18

    在Inno Setup中安装部分后,如何移动任务部分?

  19. 19

    用于Inno设置的DwinsHs:编辑URL的HTTP_HEADER常量以在安装过程中下载

  20. 20

    Inno Setup:在卸载过程中重新启动后删除文件夹

  21. 21

    如何使用重新启动管理器在Inno Setup卸载中关闭然后重新启动explorer.exe?

  22. 22

    在Inno Setup的安装过程中写入Node app .js配置

  23. 23

    Inno Setup:加载在安装过程中为wpInfoAfter编辑的文件

  24. 24

    Inno Setup:加载在安装过程中为wpInfoAfter编辑的文件

  25. 25

    在Inno Setup中记录TWindowsVersion

  26. 26

    安装字体后,Inno Setup是否需要重新启动?

  27. 27

    Inno安装程序在安装过程中执行大的sql脚本文件

  28. 28

    重新启动后,Inno Setup要求管理员登录才能完成

  29. 29

    Inno Setup 中的动态密码

热门标签

归档