今天找VM补丁看到的,是个innosetup封装的,所以习惯性的喜欢去看人家的iss文件是怎么编写的. DefaultDirName={reg:HKLM\SOFTWARE\VMware%2c%20Inc%2E\VMware Workstation,InstallPath} 看到上面这个代码很奇怪,DefaultDirName是默认安装路径,他的路径是以reg开始的,大意是注册表的路径,后面加了个InstallPath,这样就搞定了,真简单,这个我以前是不知道,不过以后就可以用到了,哈哈. 这个包…
[Registry] Root: HKCR; Subkey:.; ValueType: string; ValueName: ; ValueData:"264file" Root: HKCR; Subkey:264" Root: HKCR; Subkey:264"""…
文章地址:https://blog.csdn.net/yl2isoft/article/details/17332139…
http://379910987.blog.163.com/blog/static/3352379720110259414788/ 有些程序需要随系统启动,或者需要建立某些文件关联等问题,这些都是通过在安装程序中对注册表进行操作的结果.Inno Setup中通过[registry]段实现对注册表的操作. 本段说明: 参数列表: 参数 说明 Root 根键.必须是下列中的一个: HKCR (HKEY_CLASSES_ROOT) HKCU (HKEY_CURRENT_USER) HKLM (HKEY…
问题描述 Inno Setup 是一款十分强大的 Windows 安装程序制作软件,可以通过编写并编译 iss 脚本来创建安装包.之前都是直接将 Pyinstaller 生成的文件夹压缩为 zip 格式来发布,但是这样做存在一些问题,比如没有桌面和开始菜单快捷方式,没法关联支持的文件格式.而通过 Inno Setup 生成的安装包可以帮我们解决这些问题. 问题解决 关联文件格式 要想实现关联文件格式的功能,我们需要修改注册表,先来观察一下与 mp3 格式相关的注册表格式: 可以看到里面有一个名为…
1. Windows注册表简介 注册表(Registry,繁体中文版Windows称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息.早在Windows 3.0推出OLE技术的时候,注册表就已经出现.随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统.但是,从Microsoft Windows 95开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今 0x1: 注册表的由来 在Wind…
原文 http://www.cnblogs.com/2356/archive/2009/10/27/1590565.html 在Unicode版Inno Setup中使用ISSkin给安装程序添加皮肤 ISSkin是Code jock 公司出品的Inno Setup 皮肤插件,用于为Inno制作的安装程序提供皮肤功能. 自Delphi发布2009之后,Inno Setup 开始出现支持Unicode编码的版本,即5.3.x系列,并且官方同时提供Ansi和Unicode版本. 如果了解Delphi…
日前遇到一件事:WebBrowser中的网页会用到一个“大众”ActiveX控件,为了保证兼容性以及和其它程序互不干扰,我们采用这样一种方案: 1. 我们的软件会自带该控件: 2. 如果系统中已注册有该控件的话,我们不用会我们的控件进行覆盖注册: 3. 不管怎么样,我们的程序都只会加载我们自带的控件.   要做到第3条,显然要HOOK控件位置有关的注册表项.因为之前在做播放器时使用过同样的手段来处理媒体解码器,所以其实并没有什么难度.但事实上却差点阴沟里翻船.   我一定确定以及肯定的是,我需要…
原文  asp.net中通过注册表来检测是否安装Office(迅雷/QQ是否已安装) 检测Office是否安装以及获取安装 路径 及安装版本  代码如下 复制代码 #region 检测Office是否安装     ///<summary>     /// 检测是否安装office     ///</summary>     ///<param name="office_Version"> 获得并返回安装的office版本</param> …
该文章是“个人电脑历史记录清除软件”项目的系统应用系列文章.前面已经讲述了如何清除IE浏览器的历史记录.获取Windows最近访问文件记录.清除回收站等功能.现在我需要完成的是删除USB设备上的U盘.手机.移动硬盘等记录,真心觉得这方面资料特别少.这篇文章首先主要讲述了通过注册表获取USB使用记录,希望对大家有所帮助. 一.注册表基本知识 注册表(registry)是Windows系统中一个重要的数据库,它用于存储有关应用程序.用户和系统信息.注册表的结构就像一颗树.树的顶级节点(hive)不能…
我的程序修改了安装界面,所以我的界面中提供了更改安装路径的方法. 用户修改后的路径会被传回inno setup脚本,脚本中需要做的事情如下: 1,写一个函数,来返回新的安装路径,如: function MyDestDir(SubDir:String):String; begin   if SubDir = '' then     Result := RootDestFolder   else     Result := RootDestFolder + '\'+ SubDir; end;  2,…
ISSkin是Code jock 公司出品的Inno Setup 皮肤插件,用于为Inno制作的安装程序提供皮肤功能. 自Delphi发布2009之后,Inno Setup 开始出现支持Unicode编码的版本,即5.3.x系列,并且官方同时提供Ansi和Unicode版本. 如果了解Delphi 2009的朋友,应该就很了解这一版本对Unicode的支持,这里不多做介绍了. Unicode版的Inno Setup脚本中会将所有字符串存储为Unicode字符串,使用双字节编码,包括ASCII码,…
理论: 使用HIVE注册表,系统在完成了第一阶段也就是加载完了boot.hv+binfs之后和加载系统HIVE注册表之前,filesys.exe都会调用OEMIoControl来查询是否需要清除保存在block设备上的hv文件,其CODE代码为IOCTL_HAL_GET_HIVE_CLEAN_FLAG,它的输入参数lpInBuf固定为HIVECLEANFLAG_SYSTEM或HIVECLEANFLAG_USERS,filesys.exe会分别用这两种参数调用两次IOCTL_HAL_GET_HIV…
Inno setup编译器编译使用pascal脚本编写的打包代码,其中Run段可以执行某些特定的程序,遇到一个bat批处理文件传递参数的问题,记录如下 1: [Run] 2: Filename: "{app}\mysql\bin\filecopy.bat"; Parameters:"""{src}\settings\config.ini"" ""{app}\config.ini""";…
要注意的只有一个地方,那就是键名或者项名不要包含大写字母,否则读不到数据. 代码是这样的: 1: Preferences preferences = Preferences.systemRoot(); 2: String strRegTime = preferences.get("regTime", ""); 注册表中是这样的 不论怎么改都读不到regTime的值.后来想到现在代码中把值写进去看看是什么样的,代码如下 1: Preferences preferenc…
方法一: 直接先上源码: private System.Collections.Generic.SortedDictionary<string, string> ReadFontInformation() { var dictionary = new System.Collections.Generic.SortedDictionary<string, string>(); Microsoft.Win32.RegistryKey localMachineKey = Microsof…
1.使用C#获取当前程序或解决方案的路径 2.使用C#获取当前登录用户的相关目录 3.也可以获取当前系统通用目录 4.获取Windows系统的目录,从注册表中获取. 一.当前用户的目录,HKEY_Current_User 二.系统通用目录,当前机器,Hkey_Local_Machine 三.代码实例 class LocalPathHelper { //windows当前用户的注册表键 private static RegistryKey folders; /// <summary> /// 全…
win + r(run):输入 regedit(register edit)进入: 1. 网络连接 比如一些 vpn 安装之后,会对网络连接进行一定的修改,这样在 vpn 工具删除之后,仍然无法消除修改带来的影响,此时可以对注册表进行一定的编辑: 在注册表中找到: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections,然后删除 Connections 这一目录. 2. 软…
很多方案是采用GetVersion.GetVersionEx这两个API来查询操作系统的版本号来判断当前的操作系统是Windows系列中的哪个,在Win10没有出现前,这种方法是行的通的,但是Win10出现后此方法对于判断Win10就不准了. 在此提供一个读取注册表的方法,已经验证过可行: //查看注册表获知:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion //XP系统  5.1为XP,…
场景:用js执行本地的安装软件,如果不存在就执行安装 操作步骤: 1.前台js代码 <script type="text/javascript"> function exec () { var command; var shell = new ActiveXObject("WScript.Shell"); try { command = shell.RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\…
获取任意 VS 和 SQLServer 的 磁盘安装目录. 背景需求:如果磁盘电脑安装了 VS 或者 SQLServer 则 认定这台计算机 的使用者 是一名 软件研发人员,则让程序 以最高权限运行. 代码如下:(基于注册表读取.exe版权信息校验) static void Main(string[] args) { string vsPath = FindVisualStudioPath(); Console.WriteLine(vsPath); string sqlPath = FindSQ…
原文 http://restools.hanzify.org/article.asp?id=67 timectrl.dll 为一个 6.5 KB 的按钮激活时间控制插件.  引用来自 Example1.iss,2009-1-19 12:35:12 ; -- Example1.iss --; restools; http://restools.yeah.net; 此插件同样可以使用在NSIS的安装程序中.; 这只不过是演示一下没有什么是实现不了的,只是值不值得的问题,为了这么一个小功能而去编一个相…
如在: [CustomMessages] CreateDesktopIcon=Create a Desktop icon NameAndVersion=%1 version %2 普通的获取CustomMessages中字段的信息,只需使用CustomMessage方法即可 var S: String; begin S := CustomMessage('CreateDesktopIcon'); end; S 的结果是: Create a Desktop icon 但NameAndVersion…
Pascal Scripting: Exec Prototype: function Exec(const Filename, Params, WorkingDir: String; const ShowCmd: Integer; const Wait: TExecWait; var ResultCode: Integer): Boolean; Description: Executes the specified executable or batch file, using the same…
#include "stdafx.h" void dump_machine_info( HANDLE fh ) { CHAR Str[MAX_PATH*3]; CHAR MHzStr[64]; CHAR CpuId[MAX_PATH]; CHAR VendorId[MAX_PATH]; TCHAR RegPath[MAX_PATH]; ULONG i; HKEY hKey; ULONG MHz; DWORD t; ULONG l; MEMORYSTATUS ms ; for(i=0;…
一.背景 目前,公司针对PR开发的一个插件需要发布到64位系统上.该插件包括一个prm格式的文件和若干个DLL文件.其中,prm文件需要复制到PR公共插件目录下,DLL需要复制到Windows系统目录中去,这样插件才能正常的工作.公司现在要求发布插件时制作一个安装包,让用户点击安装包后自动将插件相关文件拷贝到相应目录去.本来用inno setup来做一个安装包,顶多就是一个多目录安装的问题.但是,公司发布的插件只能应用在Win64位平台,而且要求通过读取注册表来确定具体的安装目录.这是背景,也正…
注册表(Registry,繁体中文版Windows称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息. 打开方式:1.开始>>运行.中输入regedit 回车 注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的.在不同系统上注册表的基本结构相同.其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表. 注册表由键(或称“项”).子键(子项)和值项构成.一个键就是分支中的一个文件夹,而子键就是这个文件夹中的子文件…
思路:使用自定义 解决方案添加类库项目 添加安装程序类 随后右键查看代码 在构造函数添加事件 同时完成这个事件,在此事件中根据需要添加我们需要的内容,此处为添加注册表,并根据安装目录添加url protocol协议 代码如下 public Installer() { InitializeComponent(); this.AfterInstall += new InstallEventHandler(Installer_AfterInstall); } private void Installe…
大家都知道 Windows 在卸载软件时总是不够彻底,系统C盘总会留下大量难以辨别和清理的垃圾文件和临时文件,时间长了注册表也会变得非常臃肿,不仅浪费硬盘空间,而且也会明显拖慢系统响应和启动速度. Revo Uninstaller Pro 是一款极为强大好用的原生64位专业级软件彻底卸载工具,拥有先进智能扫描算法,可在卸载软件同时更彻底有效地清除与之相关的垃圾/临时文件和注册表键值:它能强制卸载那些正常卸载出错误的软件,也能通过监视软件安装过程来记录下系统更改之处,从而实现最干净的卸载.如果你希…
有些程序需要随系统启动,或者需要建立某些文件关联等问题,这些都是通过在安装程序中对注册表进行操作的结果.Inno Setup中通过[registry]段实现对注册表的操作. 本段说明: 参数列表: 参数 说明 Root 根键.必须是下列中的一个: HKCR (HKEY_CLASSES_ROOT) HKCU (HKEY_CURRENT_USER) HKLM (HKEY_LOCAL_MACHINE) HKU (HKEY_USERS) HKCC (HKEY_CURRENT_CONFIG) Subkey…