InstallShield的注册表操作

installshield中的installscript编程 上一篇说道了InstallShield快速建立一个打包程序,现在说说InstallShield里面的installscript脚本。该文属于个人理解,参考一些相关文章。 阅读详情

帮朋友做一个安装盘,需要往注册表里面写东东,使用了一下InstallShield的注册表操作,感觉还是满强大的smile_regular

首先,我要设置一下操作的注册表项都在哪个目录下,比如都在HKEY_LOCAL_MACHINE下,那我就调用下面这句话,注意,这句话一定要在所有读写注册表项之前进行,并且只调用一次即可:

RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);

然后,我要检查一下我要操作的注册表项存不存在,我可以调用这样一句话:

RegDBKeyExist (regDbKey)

这个方法返回值为0表示regDbKey在注册表中存在,返回值<0表示不存在。

如果不存在的话,我要创建这个项并在其中写入一下名字为Sanc的字段,并赋以初值,那么我调用这句话就行了:

RegDBSetKeyValueEx(regDbKey, "Sanc", REGDB_STRING, "10", -1)

因为我写入的是字符串值"10",所以最后一个参数为-1就可以了,如果我写入的是一个整型值或其它数值型值的话最后一个参数就要说明这个值的长短。

需要注意的是,如果相应的注册表项不存在的话这个方法会自动在注册表中创建相应的项,不用显式的调用RegDBCreateKeyEx (regDbKey, "")了。不过通用RegDBSetKeyValueEx创建的项要是想在卸载时自动卸掉的话,就必须在InstallShield IDE的Registry中注册这个项。

同样,要是更新值的话也是用这个方法。

这个方法如果返回0的话表示成功,返回<0的值表示失败(好像InstallShield的N多方法都是这样smile_regular)

那么,如何获取一个值呢?用下面的方法就可以:

RegDBGetKeyValueEx(regDbKey, "Sanc", regType, regValue, regSize)

注意,这个方法中后3个参数都是输出参数,regTyep表示类型,regValue表示值,regSize表示大小,返回值的含义同样遵守上面的法则。

最后还有一点十分重要的smile_devil,就是当你的程序中途退出时,不要调用abort方法,而要调用exit方法,要不前面所做的一切注册表操作都将化为乌有。原因是abort操作会执行Uninstall操作,删除前面有注册表中创建的值smile_regular.

Installshield 12 中文系列教程 之 Installscript 项目(一)  这个部分通过带领你使用InstallShield新建,编译,运行来增强一个使用安装脚本的安装程序。这个教程划分了一些列的步骤。在第一步后“第一步:建立,编译,测试项目”其他的步骤能够按照任意的顺序单独的运行,所以你可以集中注意力在这个部分的相关的内容上。在这个教程中,你将要学习到如何完成一个安装程序中要执行的多个任务,包括:安装文件 设置快捷方式和注册表数据 条件安装数据 更 阅读详情

相关推荐

InstallShield教程:从入门到精通

在 InstallShield 中,启动菜单项的添加遵循类似的步骤,但需要选择对应的菜单文件夹。以下是添加启动菜单项的标准流程:进入 InstallShield 的“User Interface”视图。展开“Start Menu”文件夹。选择适当的子文件夹,例如“Programs”或者特定的程序文件夹。点击“Add New Folder”创建新的程序文件夹,或者选择已有的文件夹。在文件夹内点击“Add New Program Item”。

weixin_42128315的博客 1663

InstallShield内部库函数全集十一-INI文件函数

11  INI文件函数    INI文件函数从初始化和配置文件中获得信息或拷贝信息到这些文件。一个初始化文件是一个特殊的包含关键字名-值对的ASCII文件。关键字名-值对代表运行时对应用程序的选项。你也可以访问和修改专用的初始化文件和系统初始化文件。下面的列表简要描述了每个INI文件函数。    由AddProfString, ReplaceProfString, 或 WriteProfStrin

Soon 639

ADS2019学习笔记:三、SPICE model导入

以BZX84-C33 SPICE model为例,学习如何在ADS2019中导入SPICE model。

qq_42945911的博客 6492

installshield 2009 无法通过installscript写注册表

默认情况下,在installshield 是无法更改MACHINE下的注册表文件的,通过如下步骤就可以了 1 打开installation Designer 2 找到Media->Release 3 找到自己的IMAGE,比如SINGLE_EXE_IMAGE 4 将Required Execution Level修改成 administrator 5 将MSI Engine Ver换成V

bitscro的专栏 1768

freeswitch系列二 kamailio 5.0安装及实现kamailio集成freeswitch

kamailio是个纯粹的SIP服务器。本文介绍先如何在debian8下安装debian5.0,然后详细介绍如何实现使用kamailio做freeswitch均衡负载。kamailio同时实现做为代理服务器、注册服务器、重定向服务器。

不积跬步无以至千里; 不积小流无以成江海 1万+

解决国内网页无法加载reCaptcha的方法

科普: reCaptcha是Google公司的验证码服务,方便快捷,改变了传统验证码需要输入n位失真字符的特点。reCaptcha在使用的时候是这样的: 只需要点一下复选框,Google会收集一些鼠标轨迹、网络信息、浏览器信息等等,依靠后端的神经网络判断是机器还是人,绝大多数验证会一键通过,无需像传统验证码一样。但是reCaptcha使用了google.com的域名,这个域名在国内是被墙的。所以,也就导致了官网上无法注册/登录的问题,挡住了不少人入正的脚步。 解决办法: 【第一步】安装fir

调皮李小怪博客 25万+

InstallShield 2010读写注册表的脚本函数编写

在使用InstallShield制作安装包的时候,常常要使用到对注册表的读写等操作,这里提供自己写的注册表读写函数。 读注册表函数ReadReg: 1 // 申明 2 prototype ReadReg(NUMBER, STRING, STRING) 3 4 // 函数体 5 function ReadReg(nRootKey, szKey, szKe...

weixin_30629653的博客 360

Visual Studio Code 打开java项目

在 Visual Studio Code 中打开并运行一个 Java 项目之前,你需要确保你已经完成了一些初始设置。

2674

InstallShield 注册表操作

1.判断注册表 RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); RegDBKeyExist("SOFTWARE\\Microsoft\\.NETFramework\\v2.0.50727")

弄啥 的专栏 2846

大数据分析工具Power BI(二):Power BI下载安装和模块介绍

首先在Microsoft官方网站上下载PowerBI Desktop,然后进行安装。id=58494点击"Next"后会弹出下载框,进行下载即可,下载好的PowerBI名称为"PBIDesktopSetup_x64.exe",也可以在"资料"中获取安装包,双击安装包即可安装。

Lansonli(蓝深李)的博客 2317

SAP BW/4HANA 项目字段级数据血缘分析的方法与工具

利用SAP自带工具可以在一定程度上查看数据流和字段使用情况,但往往需要人工逐步深挖。适用于简单场景或验证单个字段的映射。借助SAP数据治理解决方案(如 Information Steward、Data Intelligence 等)能够自动整合元数据,提供图形化、跨系统的血缘分析,适合对数据 lineage 有严格要求的企业级项目。第三方工具则提供了灵活强大的功能,如自动文档、生成功能丰富的报告,对于复杂环境下的血缘分析和影响分析非常有帮助。自行开发SQL/CDS脚本。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 470

How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置

How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置 原文:How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置IS脚本操作注册表在64位平台下必须有特殊的设置 if (SYSINFO.bIsWow64) then //如果为64位操作系统 R...

weixin_30855761的博客 198

计算机网络基础:认识网络硬件与传输介质

计算机网络基础:认识网络硬件与传输介质,在计算机网络的庞大体系中,网络硬件与传输介质犹如坚实的骨架与脉络,支撑并承载着信息的流动。从家庭中的小型网络,到企业复杂的办公网络,再到覆盖全球的互联网,各类网络硬件设备各司其职,不同的传输介质发挥着独特的传输作用。它们相互协作,使得数据能够在不同设备之间快速、准确地传输,为人们的日常沟通、工作办公、娱乐休闲等活动提供了基础保障。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 3万+

在installscript中关于注册表的基本操作(注册表篇)

在installshield中使用installscript对注册表得基本操作

m0_63948055的博客 442

21、博弈中的对抗搜索算法解析

本文深入解析了博弈中的对抗搜索算法,涵盖极小极大算法、阿尔法-贝塔剪枝、移动排序与换位表等核心技术。文章分析了算法的数学基础与实现机制,探讨了其在国际象棋、围棋等复杂游戏中的应用,并扩展至多人游戏中的联盟与合作行为。通过对比不同类型策略的优劣,展示了对抗搜索在实际博弈系统中的演进方向与优化路径,为人工智能决策提供了理论支持与实践指导。

rust6ferris的博客 128

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

error C8046 : '1' : numeric value required InstallShield的错误问题

<br />在InstallShield里,对注册表进行操作时会出现error C8046 : '1' : numeric value required InstallShield的错误,纠结几个小时,最后明白了,<br />RegDBGetKeyValueEx(szKey, "CurrentVersion", REGDB_STRING, svNewValue,nvSize );当我们这样写时,实际上就已经错了,因为不想c语言,在InstallShield里我们要将把REGDB_STRING用一个numbe

wang19870102的专栏 1591

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

InstallShield内部库函数之15 注册表函数

InstallShield内部库函数之15  注册表函数下列函数允许你访问注册表,读、创建和删除注册表项,和为卸载建立注册表相关参数。CreateCreateInstallationInfo为你安装的程序创建一个应用程序信息项和一个每应用程序路径项。CreateRegistrySet创建在资源窗格的注册表入口文件夹中指定注册表入口的一组或所有组。DeinstallSetReference指定在卸载

FANGAO的专栏 1772

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

InstallShield 一些事件说明,和常量代码

大家可以把所有事件都点出来然后单步追踪就行了,我的经验是一般是从OnShowUI第一次显示UI界面开始,很容易就找到大家想处理的事件,另贴几个我发现的事件,这些事件描述不是很准确大家不要当真哦.在加一些文件注册 服务开启 动作.#include "ifx.h"        //这是一个自定义函数prototype MsgBox(STRING);//声名函数原型  function Msg

坚持,才是力量.老实做人,踏实做事. 5398

Installshield代码如何写注册表

 Installshield代码如何写注册表Installshield代码写注册表分两步:   Step1:第一步,设置注册表根目录。(Set the root key by RegDBSetDefaultRoot(nRootKey) function.)   Step2:第二步,设置注册表根目录下某个路径的键值。(Create a subkey by RegDBSetKeyValue

zsrzsr2的专栏 3313

用installshield和C写的程序通过注册表进行通信

用installshield对注册表进行操作: nRootKey = HKEY_LOCAL_MACHINE; RegDBSetDefaultRoot(nRootKey);//为设置默认5大注册表项的哪一个 RegDBKeyExist (regDbKey);//这个方法返回值为0表示regDbKey在注册表中存在,返回值<0表示不存在。 //如果不存在的话,我要创建这个项并在其中写入一下名字

1315
上一篇: InstallShield中的文件操作
下一篇: 在Unix下查看文件的最后部分
FireElement
博客等级 码龄23年 48粉丝 52原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值