InnoSetup 安装程序设置环境变量

2023-11-07

InnoSetup 通过写入注册表值实现安装程序设置系统全局环境变量

环境变量以字符串值存储在注册表中,因此可以使用 [Registry] 区段操作它们。系统范围的环境变量位于:
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
特定于用户的环境变量位于:
"HKEY_CURRENT_USER\Environment"

下面是一个使用 InnoSetup 设置全局环境变量的简单示例:
在 [Registry] 区段中添加以下代码:

[Registry]
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; ValueName: "zcr"; ValueData: "zhangcirong"; Flags: uninsdeletevalue

该代码将在系统范围的环境变量中创建一个名为 "zcr" 的字符串值,并将其设置为 "zhangcirong"。"uninsdeletevalue" 标志指示在卸载应用程序时删除该键。
这种方式的好处是能实现安装时自动设置环境变量,卸载的时候自动删除环境变量。

还有一种方式更简单,也可以实现设置环境变量:
在 [Run] 区段中添加以下代码:

[Run]
Filename: "setx"; Parameters: "zcr %zcr% /M"; Flags: runhidden

上面这段代码使用 Windows 命令行工具 setx 创建一个名为 "zcr" 的全局环境变量,并将其设置为上述代码中创建的值。"/M" 标志指示将环境变量设置为全局。
这种方式的缺点是,卸载的时候无法自动删除设置的全局变量。
 

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

InnoSetup 安装程序设置环境变量 的相关文章

  • 如何使用 cython 编译扩展?

    我正在尝试从示例页面编译一个简单的 cython 扩展here http docs cython org src userguide tutorial html在我安装了 Python 2 6 64 位版本的 Windows 7 64 位计
  • 如何对 IntStream 进行逆序排序

    我正在使用 txt 文件读取数字BufferedReader 我想颠倒该流中元素的顺序 以便在收集它们时 它们将从最高到最低排列 我不想在构建数组后进行排序 因为我不知道其中可能有多少元素 我只需要最高的 N 个元素 in new Buff
  • PropertySources 中各种源的优先级

    Spring引入了新的注释 PropertySources对于所有标记为的类 Configuration since 4 0 需要不同的 PropertySource作为论证 PropertySources PropertySource c
  • cucumber-junit-platform-engine 中的功能文件发现

    In cucumber junit我使用的库 CucumberOptions定义功能文件位置 package com mycompany cucumber import cucumber api CucumberOptions import
  • 想要开发像 Facebook 这样的网站 - 处理数百万个请求 - 高性能 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想用 Java 开发一个像 Fac
  • @EnableTransactionManagement 的范围是什么?

    我试图了解正确的放置位置 EnableTransactionManagement多个 JavaConfig 上下文的情况下的注释 考虑以下场景 我在 JPAConfig java 和 AppConfig java 中有 JPA 配置以及一组
  • 无法打开 Python。错误 0xc000007b

    我最近一直在学习 Python 3 我在我的上网本 32 位 Windows 7 上创建简单的小程序没有任何问题 当我将它安装在我的上网本上时 我没有遇到任何问题 但现在我已经开始使用它了 我想将它安装在我的台式机上 并且我有一个 我的桌面
  • 自动从 C# 代码进行调试过程并读取寄存器值

    我正在寻找一种方法来读取某个地址的 edx 注册表 就像这个问题中所问的那样 读取eax寄存器 https stackoverflow com questions 16490906 read eax register 虽然我的解决方案需要用
  • 覆盖 MATLAB 默认静态 javaclasspath 的最佳方法

    MATLAB 配置为在搜索用户可修改的动态路径之前搜索其静态 java 类路径 不幸的是 静态路径包含相当多非常旧的公共库 因此如果您尝试使用新版本 您可能最终会加载错误的实现并出现错误 例如 静态路径包含 google collectio
  • 让JScrollPane控制多个组件

    对于我的应用程序 我正在设计一个脚本编辑器 目前我有一个JPanel其中包含另一个JPanel保存行号 位于左侧 以及JTextArea用于允许用户输入代码 位于右侧 目前 我已经实施了JScrollPane on the JTextAre
  • 如何使用 Mockito 和 Junit 模拟 ZonedDateTime

    我需要模拟一个ZonedDateTime ofInstant 方法 我知道SO中有很多建议 但对于我的具体问题 到目前为止我还没有找到任何简单的解决办法 这是我的代码 public ZonedDateTime myMethodToTest
  • 将 RSA 密钥从 BigIntegers 转换为SubjectPublicKeyInfo 形式

    WARNING 最初的问题是关于 PKCS 1 编码密钥 而问题中的实际示例需要SubjectPublicKeyInfo X 509 编码密钥 我目前正致力于在 java 中从头开始实现 RSA 算法 特别是密钥生成方面 现在我的代码可以给
  • 如何为 Jackson 编写一个包罗万象的(反)序列化器

    当您提前知道类型时 编写自定义序列化器非常容易 例如 MyType一个人可以写一个MyTypeSerializer extends StdSerializer
  • select() 可以在 Windows 下使用 Python 中的文件吗?

    我正在尝试在 Windows 下运行以下 python 服务器 An echo server that uses select to handle multiple clients at a time Entering any line o
  • 阻止 OSX 变音符号为所有用户禁用 Java 中的 KeyBindings?

    注 我知道这个问题 https stackoverflow com questions 40335285 java keybinds stop working after holding down a key用户必须输入终端命令才能解决此问
  • Path2D 上的鼠标指针检测

    我构建了一个Path2D http docs oracle com javase 7 docs api java awt geom Path2D html表示由直线组成的未闭合形状 我希望能够检测何时单击鼠标并且鼠标指针靠近路径 在几个像素
  • Java中获取集合的幂集

    的幂集为 1 2 3 is 2 3 2 3 1 2 1 3 1 2 3 1 假设我有一个Set在爪哇中 Set
  • Java 推断泛型类型

    我正在寻找类似的推断捕获泛型类型的概念 类似于以下方法片段 但不是捕获泛型类型的类 public
  • java中如何找到class文件的包

    我正在编写一个使用 class 文件的 java 程序 我希望能够读取文件系统上的 class 文件 使用 InputStream 并确定它所在的包 该 class 文件可能不在一个好的包目录结构中 它可能位于某个随机位置 我怎样才能做到这
  • 使用 eclipse IDE 配置 angularjs

    我想开始使用 AngularJs 和 Java Spring 进行开发 我使用 Eclipse 作为 IDE 我想配置我的 Eclipse 以使这些框架无缝工作 我知道我可能要求太多 但相信我 我已经做了很多研究 你们是我最后的选择 任何帮

随机推荐

  • sharepoint 2016 学习系列篇(2)-如何部署sharepoint server 2016(1)-AD域服务器安装和部署

    学习和了解sharepoint 除了在网上或者官网查看资料之外 当然就是来真真正正体验它 操作它 来得更加实在 那么第一步 当然是要知道如何来部署sharepoint server 2016了 根据以往的经验 暂时可以简单的划分三台服务器
  • Jetson Nano新机安装Tensorflow(版本JetPack4.4)

    记录安装Tensorflow的一些坑 目录 文章目录 前言 一 格式化and烧录 二 环境配置 1 修改环境变量 2 更换国内镜像源 三 pip安装 四 Jtop安装 1 依赖安装 2 安装jtop 五 安装Tensorflow 1 安装一
  • 100个特别的遥感应用和用途

    1利用空间主动和被动传感器测定土壤含水量 土壤水分有助于理解地球科学 例如 它解释了地球的水循环 天气预报 干旱和洪水 但是你知道有两种方法可以从太空中获取土壤水分吗 首先 它使用 passive and active sensors 主动
  • windows下使用tail命令

    tail 命令为linux 下的常用查看日志命令 可惜在windows下没有 还好有好心人开发了一个可以在Windows下的运行的小工具 来给分享一下 链接 https pan baidu com s 1 LiogYgYcAEbZUstdE
  • Python:爬虫乱码

    文章目录 一 预备知识 进制 位 bit 与字节 Byte 编码 解码 二 编解码方式 以文本 字符串编解码为例 规则 1 ASCII字符集 ASCII编 解码 2 GBK字符集 GBK编 解码 3 Unicode字符集 UTF 8编 解码
  • 零基础如何高效的学习Python,这是我给你的建议:真心诉说 分享资料

    IT 行业的变化快是众人皆知的 需要持续去学习新的知识内容 但是 往往我们工作之后 经常发现学习的东西很少了 学习效率非常低 感觉自己到了一个瓶颈期 久而久之 就演变成 一年工作经验 重复去用十年 的怪圈 不管你是已经工作了 还是正在学习中
  • Spark Streaming 实战篇

    摘要 Sprak Streaming属于Saprk API的扩展 支持实时数据流 live data streams 的可扩展 高吞吐 hight throughput 容错 fault tolerant 的流处理 可以接受来自KafKa
  • 华为OD机试真题 羊、狼、农夫过河JavaScript java python c++ 参考解题

    题目描述 羊 狼 农夫都在岸边 当羊的数量小于狼的数量时 狼会攻击羊 农夫则会损失羊 农夫有一艘容量固定的船 能够承载固定数量的动物 要求求出不损失羊情况下将全部羊和狼运到对岸需要的最小次数 只计算农夫去对岸的次数 回程时农夫不会运送羊和狼
  • 小白第一次创建STM32的工程和编译时 ,报错“.\OBJ\test.axf: Error: L6218E: Undefined symbol assert_param (referred from

    小白第一次创建STM32的工程和编译时 报错 OBJ test axf Error L6218E Undefined symbol assert param referred from misc o 解决方法就是加宏定义 USE STDPE
  • Js中换行的操作

    1 众所周知的是 n 注意 n前后的空格 alert 第一行 n 第二行 结果如下 2 当然 r 也实现了 alert 第一行 r 第二行 如下图所示 3 使用HTML的 br 标签来进行换行也是可以的 在这里插入代码片 document
  • 服务器心跳信号,服务器心跳攻击

    服务器心跳攻击 内容精选 换一换 检测IDE Daemon与Host之间的心跳 用于检测Host侧的服务器是否在运行 以HwHiAiUser用户登录Host侧服务器 执行命令 检测IDE Daemon与Host之间的心跳 IDE daemo
  • ubuntu离线安装deb包

    假如要下载numa库 在一台有网的电脑上执行下述操作 获取numa的deb及依赖包列表文件download list mkdir deb temp cd deb temp sudo apt get allow unauthenticated
  • Spring scope详解

    如何使用spring的作用域
  • 《C++ Primer》学习笔记目录汇总

    C Primer 第五版 章节目录 第1章 开始 第2章 变量和基本类型 第3章 字符串 向量和数组 第4章 表达式 第5章 语句 第6章 函数 第7章 类 第8章 IO库 第9章 顺序容器 第10章 泛型算法 第11章 关联容器 第12章
  • 凡是某单元有特定字符的,则删除整行 (VBA )

    有个工作表 有N行N列 B列是领料部门 C列是领料用途 E列是发料仓库 凡是B列有 研发部 技术部 则整行删除 凡是C列有 检测 修理 生产 则整行删除 凡是E列有 基建仓库 成品仓库 则整行删除 Sub Delrows Dim Arr k
  • PHP+JavaScript+HTML变量之间赋值及传递

    本文是最近做WAMP网站的学习知识 这做这个网站过程中需要通过新闻通告的超链接显示相应的具体内容 所以就涉及到一些相关变量赋值传递的内容 包括 HTML超链接传递值通过JavaScript显示 JavaScript变量转换成PHP变量 超链
  • 使用sort排序注意事项

    按照对3求余的余数的从小到大排序 余数相等的按值从小到大排序 bool cmp int a int b if a 3 b 3 return a 3
  • feign拦截器和解码器

    Feign拦截器和解码器 业务需求 在Spring Cloud的项目中 A服务使用Feign调用B服务的某个接口 如果需要传递全局认证token或参数 在方法参数里面加相应字段的方式显然是不可取的 首先想到的是AOP方式 使用切面拦截Fei
  • MySQL体系架构与运行机制

    本文知识点较多 篇幅较长 请耐心学习 题记 文章内容输出来源 拉勾教育Java高薪训练营 本篇文章是 MySQL 学习课程中的一部分笔记 前言 MySQL是最流行的关系型数据库软件之一 由于其体积小 速度快 开源免费 简单易用 维护成本低等
  • InnoSetup 安装程序设置环境变量

    InnoSetup 通过写入注册表值实现安装程序设置系统全局环境变量 环境变量以字符串值存储在注册表中 因此可以使用 Registry 区段操作它们 系统范围的环境变量位于 HKEY LOCAL MACHINE SYSTEM Current