如何从 [Code] 部分中止 /VERYSILENT 模式下的 Inno Setup 安装?

2024-04-11

我正在尝试从以下位置启动某个 Windows 服务[Code]部分(在AfterInstall处理程序)。当它无法启动时,我想回滚安装。

通常,当从 UI 运行安装程序时,WizardForm.Close()做对了工作。但是当安装程序执行时/verysilent命令行参数,WizardForm.Close似乎被忽略并继续安装。 我也尝试过Abort(),由 Stack Overflow 上的其他文章建议,但它的工作方式就像任何其他可抑制的msgbox,并且不会破坏安装。

有没有办法有条件地中止安装/verysilent mode?


无法以编程方式触发回滚。

您所能做的就是使用以下命令强制中止安装ExitProcessWinAPI函数 https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-exitprocess.

procedure ExitProcess(exitCode:integer);
  external '[email protected] /cdn-cgi/l/email-protection stdcall';

学分:从 [code] 退出 Inno Setup 安装 https://stackoverflow.com/q/4438506/850848#7022353.


更干净的解决方案是安装该文件并在文件开头以编程方式启动 Windows 服务。。并使用Abort功能 https://jrsoftware.org/ishelp/index.php?topic=isxfunc_abort如果出现问题,则中断安装。在此背景下Abort作品。请参阅功能文档 https://jrsoftware.org/ishelp/index.php?topic=isxfunc_abort.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 [Code] 部分中止 /VERYSILENT 模式下的 Inno Setup 安装? 的相关文章

  • 为 Inno Setup 执行的 Postgres (psql) 进程设置 PGPASSWORD 环境变量

    我需要创建一个 PostgreSQL表空间 https www postgresql org docs current manage ag tablespaces html with 创新设置 https jrsoftware org is
  • Inno Setup:选择组件的功能

    我有一个小问题 我需要当您选择一个或两个组件时显示一个页面 但其他的并不是只用单一的组件似乎就有效果 我留下了我正在工作的代码 Setup AppName My Program AppVerName My Program v 1 2 Def
  • 命令行开关阻止 Inno Setup 安装程序创建桌面图标

    我正在尝试为 Balsamiq Mockups 创建静默安装 该安装似乎是使用 Inno Setup 编译器创建的 作为标准静默安装的一部分 它会创建一个我希望阻止的桌面快捷方式 有谁知道相关的命令行开关来防止创建桌面图标 我尝试过使用 M
  • 通过代码使卸载注册表项成为有条件的

    如何禁用 Inno SetupCreateUninstallRegKey http www jrsoftware org ishelp index php topic setup createuninstallregkey通过代码 My 安
  • 可以在 Inno Setup 脚本中使用环境变量吗?

    我需要找到一种方法来引用 Inno Setup 脚本文件 iss 中的环境变量 我发现了很多关于从 iss 修改环境的参考资料 但没有关于如何实际使用它的参考资料 这可能吗 当我尝试在 Files 部分中指定文件的源位置时 我遇到了同样的问
  • Inno Setup TInputQueryWizardPage (CreateInputQueryPage) 上如何减小两个输入框之间的行距

    我有一个TInputQueryWizardPage具有 8 个用户输入的页面 这增加了向导页面 https stackoverflow com q 11778292 但所有值仍然不可见 有没有办法减少两个值之间的行距 以便所有值都以当前向导
  • Innosetup 添加多个 exe 文件并在主设置中执行

    我想知道如何添加额外的安装 exe 并使用 innosetup 与我的主 exe 一起执行额外的 exe 请帮助我 因为我在过去 3 天里一直在尝试这个 因为我是 innosetup 的新手 谢谢 最简单的方法是在 Run 部分调用附加的
  • 如何使用 Inno Setup 检查互联网连接

    我正在学习 Inno Setup 来制作一个简单的安装程序 在安装过程中我需要从网站下载文件 因此检查是否有互联网连接很重要 在安装过程中如何检查或采取一些警报以连接互联网 Thanks 最好的检查是尝试实际下载该文件 互联网 几乎不是一个
  • Inno Setup - 允许用户选择“只有我”或“任何使用这台计算机的人”

    我遇到的一些安装程序让我选择 只为我 或 为 使用这台计算机的任何人 安装应用程序 如何让我的 Inno Setup 脚本向用户提供此选择 以便我可以根据他们的回答方式更改安装程序的操作 有很多方法可以解释 只有我 与 所有用户 问题的答案
  • 无法为 32 位 HKLM 设置注册表插入

    我想在 Inno setup 中创建一个带有子菜单项的上下文菜单 问题是 它在 64 位注册表 WoW6432Node 部分插入 HKLM 密钥 The 文档 http www jrsoftware org ishelp index php
  • 如何在 Inno Setup 中使用 GetVolumeInformation?

    我需要在使用 Inno Setup 创建的安装过程中获取驱动器号的卷序列号 我知道 DLL 函数可以导入到 Inno 中 但我对它还很陌生 并且在使其工作时遇到一些问题 我知道 kernel32 中的 GetVolumeInformatio
  • Inno Setup 选择一个目录来安装预定义集中的文件

    在这种情况下 我需要将文件安装到特定目录 但在不同的计算机上它可能位于不同的文件夹中 所以我需要检查哪个是正确的 例如 我有一个文件 需要将其安装在A文件夹或B文件夹或C文件夹 取决于计算机有A or B or C 所以我需要先检查一下计算
  • 使用 inno setup 安装时检查可用端口

    我正在尝试在 inno setup 中创建以下功能 用户被要求输入他们希望我的应用程序进行通信的端口 一旦他们进入端口 他们就可以点击检查按钮 此检查按钮将运行一些代码来查看安装计算机上的端口是否可用 到目前为止 我可以为用户创建输入框来输
  • Inno Setup:如何根据代码更改语言文件

    我使用自己的语言文件 isl 而不是使用 Inno Setup 的默认语言文件 它允许我自定义一些消息 但现在 我想要每种语言文件有两个版本 一个用于首次安装 一个用于更新 但是 是否可以从代码中选择一个文件 如果是 该怎么做 也许有一些比
  • Inno-Setup:在消息框中使用自己的按钮文本

    良好的 GUI 设计中的常见做法是不使用是 否消息框 而是为按钮提供真实名称 例如保存或丢弃 我们如何在显示的消息框中实现这一点MsgBox在 InnoSetup 中 至少对于我们在代码部分中显示的那些 The MsgBox http ww
  • Inno Setup 安装可以设置 Windows 安全组吗?

    如何在 Inno Setup 安装过程中设置 Windows 安全组 我似乎想不出正确的文本来谷歌来弄清楚 也许暗示要搜索什么就足够了 好的 我找到了一些东西 我可以使用 net localgroup Windows 命令 http tec
  • Inno Setup 如何在浏览对话框中显示网络?

    在我的设置中 在浏览器中显示 浏览 按钮 wpSelectDir or CreateInputDirPage例如 网络永远不会显示 我对此进行了一段时间的搜索 但目前还没有找到任何解决方案 有没有办法显示网络并让用户选择网络路径 感谢您对此
  • Inno Setup安装先决条件[重复]

    这个问题在这里已经有答案了 我正在通过 Inno Setup 创建一个安装程序 我看到很多关于如何检测先决条件是否存在的代码示例 但没有任何关于当我找不到先决条件时如何实际安装先决条件的代码示例 我确信它非常简单 但是我该如何安装先决条件呢
  • Inno Setup 代码部分创建隐藏文件

    我正在处理 Inno Setup 项目 该项目正在使用SaveStringToFile函数在 Code 部分 我想将此文件设置为隐藏系统文件 但我无法找到有关如何实现此操作的信息 有任何想法吗 Inno Setup Pascal Scrip
  • 在 Inno Setup 中单击“下一步”按钮时验证自定义页面上的数据

    我已经设法获得一个基本脚本来显示向导 使用CreateInputFilePage 供用户识别我用来更新 XML 文件中某些设置的文件位置 但是 我想对所选文件的输入进行一些基本检查 而不是简单地接受用户提供的任何内容 例如 如果用户在内容无

随机推荐

  • Spark 中的迭代缓存与检查点

    我有一个在 Spark 上运行的迭代应用程序 我将其简化为以下代码 var anRDD org apache spark rdd RDD Int sc parallelize 0 to 1000 var c Long Int MaxValu
  • 在 Python App Engine API 中写入和读取 blobstore 文件以存储时间戳

    我正在使用 Google App Engine 的 python API 我想做的是从服务器加载文件列表 如果它已经过去了超过一个时间间隔 例如 1 小时 为此 我尝试将执行的最后一个操作小时存储到文件中 并在下次读取它以了解与下一个请求的
  • 自定义字体和 XML 布局 (Android)

    我正在尝试在 Android 中使用 XML 文件定义 GUI 布局 据我所知 没有办法指定您的小部件应该在 XML 文件中使用自定义字体 例如您放置在 asset font 中的字体 并且您只能使用系统安装的字体 我知道 在 Java 代
  • ggplot2 中的并排水平图例

    我想让我的 ggplot 图例并排出现在图下方 变量名称位于符号上方 就像它们在this https kohske wordpress com 2010 12 25 various position adjustments of legen
  • Html 锚文本格式

    这可能是一个基本问题 但我使用的是 HTML 锚点 锚点的文本作为多行段落 我有 br 锚文本部分中当前无法识别的标签 所有文本在输出中都在一行中 锚标签代码如下 li a href title View all Printed Docum
  • 为什么 arr 和 &arr 相同?

    我已经编程c c 很多年了 但是今天的偶然发现让我有些好奇 为什么下面的代码中两个输出产生相同的结果 arr当然是地址arr 0 即指向arr 0 我本来期望 arr是该指针的地址 但它具有相同的值arr int arr 3 cout lt
  • 如何使用 Visual Studio 命令行 + SCons 构建 Windows XP 应用程序?

    使用 Visual Studio 2015 IDE 构建 Windows XP 应用程序一点也不难 您只需要使用正确的平台工具集 v120 xp 或 v140 xp 并确保在目标计算机上安装正确的可再发行 Visual Studio 运行时
  • 绘制可调整大小(不相交)的多边形

    我到处寻找但找不到答案 我 需要通过鼠标交互绘制可调整大小的多边形 但我 不希望出现不规则 重叠或相交的多边形 结尾 这是绘制可调整大小的多边形的简单示例http www wolfpil de polygon html http www w
  • Pom.xml项目构建错误

    我已经在 Eclipse 中导入了 Maven 项目 但在 pom xml 中出现以下错误 项目构建错误 dependencyManagement dependency dependency systemPath 为 jdk tools j
  • 如何在uWSGI中配置允许的GET参数字符数?

    我正在使用 nginx uWSGI 运行 Django 刚刚从本地开发转移到临时服务器后 我发现我们发出的特定 GET 请求有一个很长的查询字符串 尝试调试 似乎 uWSGI 不接受这个基于长度的查询字符串 我可以传递短字符串并且它可以工作
  • 为什么 $1 在 hashref 赋值中指向与多个正则表达式匹配的相同值?

    对于没有故事的问题 请跳到行后 我正在把一串由一些字母和数字组成的字符串 这两种情况都可能出现 分成散列引用中的两个字段 仅当该字段存在时它们才应该出现 该字符串可能如下所示 D d 例如ZR17 R15 19 22 我不想简单地将其放入这
  • Oracle - 特定用户的审计跟踪

    正如主题所述 我正在寻找一种方法来跟踪特定用户的活动 可能有也可能没有 SYSDBA 或 SYSOPER 权限 例如 人力资源部 我想知道他的登录详细信息是什么 他更改了哪些对象 它们的原始值是什么 执行的 SQL 语句 执行了哪些过程 函
  • 升级 Zend Framework - 步骤和指南

    我维护的网站目前使用的是 Zend Framework 1 8 0 该版本已经有 2 年多的历史了 我想升级到 1 11 11 但在寻找如何顺利完成此操作的基本指南方面遇到了一些困难 就像用最新文件覆盖library Zend文件夹一样简单
  • 如何在 C++ 中将调色板生成器和调色板使用过滤器与 FFmpeg 一起使用?

    我想在 QT 项目中创建一个动画 gif 当我直接将 QImage 缩放到 AV PIX FMT RGB8 时 输出看起来很糟糕 带有闪烁的伪影 而当我缩放到 AV PIX FMT YUV420P 之间时 输出会抖动 这看起来并没有好多少
  • 即使在同一类型上,是否应该使用 new 位置来调用析构函数

    include
  • 对于大量插入,多久调用一次 DataContext.SubmitChanges() ?

    多少InsertOnSubmit我应该在打电话之前打电话吗SubmitChanges 我正在添加来自 Web 服务的数据 该服务一次可以返回数万条记录 Web 服务周围的包装类公开记录IEnumberable集合来隐藏复杂的分块机制 是否有
  • Playframework:如何在不同项目之间共享模型?

    我想与其他一些项目共享我的模型 他们使用相同的模型 但不使用相同的字段映射和约束 我想知道是否有办法从模型中提取注释并使用 xml 配置代替 或者其他方式来实现这一目标 注意 我正在使用play 1 3 上周我正在分析类似的事情 存档的一种
  • 如何使用 PowerShell 读取 MSBuild PropertyGroup 的值?

    我有以下 MSBuild TestBuild xml file
  • 测试矩阵的每个元素的条件

    我想测试数据帧的每个元素是否都大于 0 如果它大于零 我们将 买入 否则 卖出 我用的是sapply 它分配了每个值 卖出 我使用了以下代码 还推荐 for 循环解决方案 df1 lt sapply df function x ifelse
  • 如何从 [Code] 部分中止 /VERYSILENT 模式下的 Inno Setup 安装?

    我正在尝试从以下位置启动某个 Windows 服务 Code 部分 在AfterInstall处理程序 当它无法启动时 我想回滚安装 通常 当从 UI 运行安装程序时 WizardForm Close 做对了工作 但是当安装程序执行时 ve