- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 NSIS 中编写一个安装程序,它是另一个安装程序的包装器,由 NSIS 创建。 内部安装程序不是我的。它是使用 BioWare Installer 1.03 (NSIS 2.34) 创建的。它可能以某种方式损坏,但我无法修改它!我的安装程序所做的是它只是修改一些注册表值(否则“内部”安装程序将不会运行),然后执行安装程序,然后覆盖一些文件,然后恢复以前的注册表值。
我的问题:我不知道如何实际等待“内部”安装程序完成!这是因为安装程序首先解压缩它的内容并创建一个新进程,这是真正的安装程序。并且代码会在第一个过程(解包)完成后立即执行。等待在这里很重要,因为我需要覆盖一些文件。
我读过这个:http://nsis.sourceforge.net/When_I_use_ExecWait,_it_doesn't_wait ,但我找不到 NSIS 安装程序的任何开关。
我试过 ExecWait 和 nsExec::Exec,但它们都没有等待真正的安装程序,只是等待第一个进程完成。
最佳答案
首先,我从未见过 ExecWait 失败,但它只会等待一个子进程,而不是该子进程的子进程。所以链中的每个进程都需要等待它的 child 。如果“中间”进程坏了,试试http://nsis.sourceforge.net/ExecWait_and_waiting_for_child_processes_with_Job_Objects
对于 ExecWait,树看起来像:
你的描述有点不清楚,你能确认我明白了大概意思吗?
如果您找不到 NSIS 的开关,则表示您没有 RTFM :)
关于installation - 如何执行另一个 NSIS 安装程序并等待它完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3885327/
我有一个安装程序,一个编译好的 NSIS 脚本,它首先检查我的应用程序的另一个版本是否正在系统上运行。如果存在另一个实例,则它首先触发静默卸载,然后继续安装新实例。 我使用 ExecWait 在静默模
我必须比较当前文件的版本和已经安装在 NSIS 安装程序中的版本。我知道版本号是字符串,但我在几个地方读到,如果逻辑操作需要,NSIS 会自动将字符串转换为整数。 仅出于测试目的,我编写了以下脚本:
我们有一个包含多个组件的安装程序,每个组件都有自己的部分。我试图找出我们现有的代码如何实际设置每个部分的大小。我们有 3 个组件,如果选中/取消选中,它们将更新组件页面上的“所需空间”值。 我当前添加
我正在努力将图像添加到用NSIS/MUI2编写的安装程序的第一页中。 这是我正在使用的代码的精简版。 !include "MUI2.nsh" !define MUI_HEADERIMAGE !
NSIS具有您在脚本中定义的Name变量: Name "MyApp" 它定义了安装程序的名称,并显示为窗口标题等。 有没有办法将.NET版本号从我的主EXE中拉出来并将其附加到名称中? 这样我的安装程
当我运行静默 NSIS 安装程序时(从控制台,如 installer.exe/S/D=C:\Foo),它会立即移至后台。我想等到它完成安装后再做其他事情。我可以传递一个标志来告诉安装程序要阻止吗? 最
字符串 "jdbc:postgresql://localhost:5432/DatabaseName" 我的要求是只获得 数据库名称 从上面的字符串。 我试过下面的链接,但没有用。 ${Explode
我需要使用 SVN 标签 $Revision$在 NSIS 脚本中。显然,NSIS 编译器将这个 $Revision 理解为一个变量。我怎么能逃过这块钱呢? 我试过反斜杠,它不起作用。 最佳答案 Me
我有一个 NSIS 脚本要求用户提供安装目录,但我想要求用户在新页面上再提供一个临时目录。有没有一种方法可以使用 nsDialogs 添加一个新页面,它为例如 指定一个临时目录 C:\temp 还让他
我正在使用 VS 2010 为 NSIS 构建一个插件,我很想设置该项目,以便从简单的 NSI 文件自动构建测试设置。 一切似乎都很好,只是我不知道如何让 NSIS 在我的项目的输出文件夹而不是 C:
如果选择了某个组件,我想提示用户提供额外信息,但我不确定如何检查是否选择了给定的组件。好像http://nsis.sourceforge.net/Docs/Chapter4.html#4.9.13.2
在我的安装程序中,我想创建一个空文件。在 linux 中,我会使用 touch 命令,但是在 NSIS 中最简单的方法是什么? 最佳答案 #Compile time !appendfile "$%te
在构建我的安装程序时,我可以让用户通过调用来选择要安装的部分 !insertmacro MUI_PAGE_COMPONENTS 如何在卸载程序中提供类似的功能? 我知道如何自己制作这些部分(感谢 th
我试图通过从外部传递版本号来概括一个安装文件。我希望能够做到这一点: makensis myscript.nsi parameter=value 然后读取脚本中的参数,以便使用相同的脚本生成不同版本的
我正在尝试使我的设置脚本模块化。我根据要求从主安装脚本中调用 setup exe。我想将命令行参数传递给被调用的 exe。有人可以告诉我如何访问被调用脚本中的命令行参数。 提前致谢。 最佳答案 您可以
我使用 NSIS 开发了一个安装程序.每次重新安装应用程序时,我都想创建现有数据库文件的备份。 如何使用以下格式“当前日期时间”重命名这些数据库文件(例如:201003101140 表示 2010-0
有人可以帮我删除 NSIS 安装程序中的“Nullsoft”标签吗?请引用下图。 最佳答案 BrandingText " " 关于nsis - 从 NSIS 安装程序中删除品牌,我们在Stack Ov
如何确定我的 NSIS 函数是否有可用的互联网连接? 我看到了 Intec 插件,但我没有找到怎么做 谢谢。 最佳答案 你应该为此使用 Dailer 插件。 试试这个: Dialer::GetConn
我是 NSIS 脚本的新手。我想创建一个自定义安装程序,它将环绕另一个安装程序 (FEKO)。此方法Embedding other installers NSIS 网站上的建议对我不起作用 脚本编译正
我对 NSIS 很陌生。 我正在尝试请求管理员权限以运行安装程序,因为它与注册表有些困惑。 我对“RequestExecutionLevel”和“MULTIUSER_EXECUTIONLEVEL”的问
我是一名优秀的程序员,十分优秀!