通过代码使卸载注册表项成为有条件的

2024-02-24

如何禁用 Inno SetupCreateUninstallRegKey http://www.jrsoftware.org/ishelp/index.php?topic=setup_createuninstallregkey通过代码?

My 安装程序在 Inno Setup 中创建的文件接受参数,例如:

setup.exe -a

or

setup.exe -b

If -a提供参数,然后启用CreateUninstallRegKey, or if -b提供参数,然后禁用CreateUninstallRegKey.

有没有办法设置CreateUninstallRegKey通过代码还是我必须创建一个函数然后在脚本部分调用该函数?

This 帮助页面 http://jrsoftware.org/ishelp/topic_scriptconstants.htm解释了如何使用{code:...}常量,但不幸的是我得到了这个错误:

Thanks


不要使用{code:}用于将值传递给布尔类型指令的表达式。这样做:

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
CreateUninstallRegKey=NeedsUninstallRegKey

[Code]
function CmdLineParamExists(const Value: string): Boolean;
var
  I: Integer;  
begin
  Result := False;
  for I := 1 to ParamCount do
    if CompareText(ParamStr(I), Value) = 0 then
    begin
      Result := True;
      Exit;
    end;
end;

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

通过代码使卸载注册表项成为有条件的 的相关文章

  • Inno Setup TInputQueryWizardPage (CreateInputQueryPage) 上如何减小两个输入框之间的行距

    我有一个TInputQueryWizardPage具有 8 个用户输入的页面 这增加了向导页面 https stackoverflow com q 11778292 但所有值仍然不可见 有没有办法减少两个值之间的行距 以便所有值都以当前向导
  • 使用 wmi win32 类检查可用端口?

    我正在使用 inno setup 来制作安装文件 它需要提取本地 IP 地址 我可以通过查询 Win32 NetworkAdapterConfiguration 来完成 并检查特定端口是否打开以供软件运行 我目前正在寻找答案 我意识到 WM
  • 如何使用 Inno Setup 连接到 MS SQL Server?

    我想在安装过程中连接到 MS SQL Server 2008 有一个类似的问题 https stackoverflow com q 2171199 960757 它提供了一个解决方案 使用isql exe工具 与 SQL Server 20
  • 安装日志文件丢失

    我制作了一个脚本 其中包括 Setup SetupLogging yes 但我找不到日志文件 好像没有被创建 它可能在哪里 可以指定我想放置它的位置吗 您可以通过设置指定日志文件的路径命令行参数 所以要记录例如到C FileName log
  • Innosetup - 在安装开始之前引用[Code]中的文件

    这是一种延续这个问题 https stackoverflow com questions 5658488 adding a help button to an innosetup wizard page 我想将一个文件包含在我的安装包中 C
  • 如何使用 Inno Setup 在安装过程中检查端口是否可用?

    我正在尝试创建一个安装文件 以便在安装过程中它将检查端口 例如 9000 并让用户知道端口状态 我是 Inno Setup 的新手 想知道这是否可行 以及如何检查这一点 谢谢 您可以使用我的功能来检查端口是否可用 see function
  • Inno Setup:如何根据代码更改语言文件

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

    我正在为一些使用 MySQL 的软件编写安装程序 我正在尝试运行 sql用于在安装时设置数据库的脚本 唉 我目前在执行它时遇到了很大的问题 这个问题似乎是由于这样一个事实而产生的 当你设置一条通往 sql文件内的 execute SOURC
  • Inno Setup 提示用户输入文件夹并存储值

    我有以下需求 Run run robocopy exe source dest OLD source contents options Where source必须由目标计算机上的用户指定 这可以根据物理平台进行更改 目的地将与用户定义的源
  • Inno-Setup:在消息框中使用自己的按钮文本

    良好的 GUI 设计中的常见做法是不使用是 否消息框 而是为按钮提供真实名称 例如保存或丢弃 我们如何在显示的消息框中实现这一点MsgBox在 InnoSetup 中 至少对于我们在代码部分中显示的那些 The MsgBox http ww
  • Inno Setup 在 Windows Vista/7 及更高版本上安装到 AppData\Roaming,但在 Windows XP 上安装到应用程序数据

    我为 inDesign 制作了几个脚本 现在我想将它们全部分发到一个安装文件中 由于 inDesign 脚本驻留在 XP 和 Vista 或更高版本 上的不同位置 因此我遇到了一些问题 我编译的设置在 Windows XP 下运行良好 但不
  • 在 Inno Setup 中单击“下一步”按钮时验证自定义页面上的数据

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

    我们有一个程序 安装程序会检查配置文件是否存在 如果存在 它不会复制该文件 它假设用户已修改其配置文件并希望保留这些修改 不幸的是 这是一个 Vista 之前的应用程序 它将配置文件保存在 Program Files 中 问题是 如果你在重
  • Inc 函数 Inno Setup

    这可能非常简单 但是当我尝试编译包含以下内容的程序时 Inc Count 在 Inno Setup 中我不断得到 未知标识符 Inc 我相信这就是在 Pascal 中递增整数的方式 并且对如何继续这里感到困惑 我正在使用 Inno Setu
  • 如何通过 Inno Setup for NetBeans 使用自定义 .iss 文件

    我将 Inno Setup 5 与 NetBeans 8 一起使用 并且我已经能够创建一个安装程序来安装该应用程序C users username local appname 但是我希望将其安装在C Programfiles 我如何在 Ne
  • 在 Inno Setup 中使用 {AppVersion} 作为函数的参数

    所以我有一个正在更新一些 XML 的函数 我想传递 AppVersion 已设置在 Setup 脚本的一部分作为该函数的常量 我努力了 MyFunction ExpandConstants AppVersion 但这给了我一个错误 如何正确
  • 是否可以使用 Inno Setup 更改安装程序的窗口标题栏?

    是否可以使用 Inno Setup 更改安装程序的标题栏 默认情况下是 AppName My Program 当您运行安装程序时 标题栏中会出现 设置 我的程序 是否可以隐藏这个词 Setup 将以下行添加到您的 InnoSetup 脚本文
  • Inno Setup:使用缩进保存 XML 文档

    我正在尝试在 Inno Setup 中向 XML 文件添加一个新节点 节点添加正确 但下一个标记之前的换行符被删除或未添加换行符 这是我的添加节点代码 NewNode XMLDoc createElement Test XMLDoc set
  • Inno Setup:有条件地删除用户主文件夹中的非空目录

    我正在通过 Inno Setup 为我的 Windows 应用程序创建安装程序 应用程序本身将一些配置数据写入用户主文件夹及其自己的子目录中 现在 在卸载过程中 我希望允许用户选择一个选项来删除该文件夹 该文件夹最初不是由 Inno Set
  • 如何在 Inno Setup 中静默安装 Microsoft VC++ 可再发行组件?

    如何在 Inno Setup 中静默安装 Microsoft VC 可再发行组件 我使用了以下代码 除了安装进度窗口之外 大部分安装部分都是静默的 这是我的 Run 部分代码 Run Filename app bin vcredist x8

随机推荐

  • msbuild:构建为 appxbundle(AppxBundle=始终不工作)

    我有一个共享的 Windows8 1 项目 其中包含电话和桌面项目 我定义了不同的配置来构建用于桌面的 x86 x64 和用于手机的 ARM msbuild 工作正常 没有错误 但输出文件夹 或其他任何地方 上没有最终的 appxbundl
  • 获取所有 POST 数据并通过电子邮件发送

    我正在尝试使用 PHP 邮件功能向自己发送一封包含所有帖子变量的电子邮件 到目前为止我有这个 message foreach POST as key gt value echo Field htmlspecialchars key is h
  • 当其他成员设置为新值时,C 联合成员给出特定/错误的值。为什么下面的 C 代码会输出这样的结果?

    include
  • IE 创建字体图标奇怪的下划线

    我正在使用 fontello 字体图标 除了 Internet Explorer 之外 它们都可以完美运行 它们也不会对悬停状态做出反应 所以 我现在遇到的问题是字体图标下有一条奇怪的下划线 我已经尝试过文本装饰 边框底部 有没有人对此有任
  • JDK8与Windows XP兼容吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我发现可以在 Windows XP 上安装 JDK8 为了避免安装错误 我们必须更改jdk 8u11 windows i586 exe使用
  • 仅获取存储桶的顶级对象

    我的问题与此类似如何使用node js获取谷歌云存储文件夹中的文件列表 https stackoverflow com questions 49684942 how to get a list of files in a google cl
  • C++ 中使用 #include 和 #include 的区别

    使用有什么区别 include
  • PopOver 自动调整位置

    我遇到了 PopOver 的问题 我希望它能够在所有位置自动调整 如果右侧找不到空间 则会从左侧打开 但我希望它对顶部 底部做同样的事情 即 如果顶部找不到空间 则应在底部打开 反之亦然 难道我就没有什么办法可以为各方做到这一点吗 data
  • 错误:尝试解析模块 @apollo/client React Native 时

    安装新版本的 apollo 客户端后出现此错误 我尝试了其他版本并降级但没有任何结果 我还尝试在 Metro config js 中指定解析 cjs 类型的文件 apollo client main cjs 但什么也没有 Error err
  • 具有 PCLMULQDQ 的快速 CRC *未反映*

    我正在尝试写一个PCLMULQDQ 优化的 CRC 32 https www intel com content dam www public us en documents white papers fast crc computatio
  • 在 UserDetailsS​​ervice 中使用 @Cacheable 时编码密码为空

    在授权期间遇到缓存问题 我无法弄清楚 因此 在授权期间 每次不向数据库发出请求时 我都想缓存该方法 在第一次请求时缓存为空 一切都很好 直到缓存在一段时间后被删除 但是当缓存存在时 我得到 401 因为 o s s c bcrypt BCr
  • 增加 ServicePointManager.DefaultConnectionLimit 的缺点

    我正在多线程环境中调用网络服务 我的很多调用由于操作超时或错误请求而失败 但如果我以线性方式执行 则没有一个调用会失败 这意味着使用多个线程调用 Web 服务存在问题 经过大量分析 我发现并发连接的限制导致了这些异常 因此我通过添加以下代码
  • 双重否定-(-n)的原因是什么?

    我正在查看一些遗留代码 我看到了类似的东西 char n 65 char str 1024 sprintf str d n 为什么作者 不再在场 写了 n 而不仅仅是n 不会 n够了吗 首先要注意的是 n实际上减少 n加 1 并计算出新值
  • 尝试导入张量流时出现非法硬件指令

    我刚刚使用以下说明安装了tensorflowvirtualenv方法 安装过程很顺利 所以我认为没有任何问题 安装后 我继续尝试导入它以验证一切正常 我收到以下消息 1 4492 illegal hardware instruction c
  • html 中指定的图像宽度单位是什么?

    我对 html 语言完全陌生 在html中附加的图像中 我们需要通过以下标记指定图像的宽度 img width 350 src var tmp jpg 那么这里的宽度单位是什么 我猜它是以像素为单位的 如果以像素为单位 是否意味着图像的大小
  • 从 xcode 命令行生成 ipa

    从命令行生成 IPA 文件的最佳方法是什么 我使用的是 xcode 4 2 并使用以下命令生成存档 xcodebuild scheme AppStore clean archive 协同设计后 这会在构建输出目录中生成 dSYM 和 app
  • XAML 中的字符串格式

    我正在尝试格式化我的string每 3 个位置有一个逗号 如果不是整数则有一个小数 我检查了大约 20 个例子 这是我得到的最接近的例子
  • 如何在 iTunes 上获取我的应用程序统计信息?

    我最近发布了一款 iPhone 应用程序 但我没有看到任何方法可以像在 Google Play 中一样检查应用程序统计信息 您能告诉我该怎么做吗 你可以从iTunes连接 https itunesconnect apple com 登录您的
  • Java 贪吃蛇游戏避免使用 Thread.sleep

    我用 Java 制作了我的第一个游戏 贪吃蛇 它的主循环看起来像这样 while true long start System nanoTime model eUpdate if model hasElapsedCycle model up
  • 通过代码使卸载注册表项成为有条件的

    如何禁用 Inno SetupCreateUninstallRegKey http www jrsoftware org ishelp index php topic setup createuninstallregkey通过代码 My 安