Inno Setup中做补丁通过注册表获取原程序安装目录

今天找VM补丁看到的,是个innosetup封装的,所以习惯性的喜欢去看人家的iss文件是怎么编写的。

DefaultDirName={reg:HKLM\SOFTWARE\VMware%2c%20Inc%2E\VMware Workstation,InstallPath}

看到上面这个代码很奇怪,DefaultDirName是默认安装路径,他的路径是以reg开始的,大意是注册表的路径,后面加了个InstallPath,这样就搞定了,真简单,这个我以前是不知道,不过以后就可以用到了,哈哈。

这个包还用到了Encryption Module加密模块,iss文件中有密码,不过用这个密码是解不开的,因为我看到了列表中有百度和CNNIC这个恶心的东西,有着两个东西大家一般都会想到这个肯定是汉化新世纪封装的了。不过这个汉化版汉化的比较完整,这也是我不用6.5的原因。vm也真是的,弄了个中国公司居然也不出简体中文版,说出来都丢人,很多东西都是可以调用微软的组件来做的,要不为什么VPC会那么小?这就是自认为自己技术是老大的后果。用户要跟着遭殃,人家VPC是可以直接调用语言文件包的,汉化非常方便,根本不用脱壳之类的再修改资源文件就可以设置语言了。

时间: 2024-10-08 20:21:29

Inno Setup中做补丁通过注册表获取原程序安装目录的相关文章

Inno Setup入门(十)——操作注册表 & 自启程序

http://379910987.blog.163.com/blog/static/3352379720110259414788/ 有些程序需要随系统启动,或者需要建立某些文件关联等问题,这些都是通过在安装程序中对注册表进行操作的结果.Inno Setup中通过[registry]段实现对注册表的操作. 本段说明: 参数列表: 参数 说明 Root 根键.必须是下列中的一个: HKCR (HKEY_CLASSES_ROOT) HKCU (HKEY_CURRENT_USER) HKLM (HKEY

Inno setup中定制安装路径

原文:Inno setup中定制安装路径 我的程序修改了安装界面,所以我的界面中提供了更改安装路径的方法. 用户修改后的路径会被传回inno setup脚本,脚本中需要做的事情如下: 1,写一个函数,来返回新的安装路径,如: function MyDestDir(SubDir:String):String; begin if SubDir = '' then Result := RootDestFolder else Result := RootDestFolder + '\'+ SubDir;

SQL安装过程中“针对SQL Server 注册表的一致性验证“出错解决方式

1.打开注册表,查找到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\0804],分别打开Counter 和Help 2.打开Counter,把滚动条拉倒最后,然后记下最大的那个值(不同计算机不一样的),记下后关闭窗口 3.同样的打开Help,滚动到最后记最大的那个值(你们的值不一定跟我一样的哦!!!),记下后关闭窗口 4,再重新定位到Perflib的节点上, 5.双击Last Counter然后在

RegQueryValueEx检索一个已打开的注册表句柄中,指定的注册表键的类型和设置值。

1VC声明 1 2 3 4 5 6 7 8 LONG RegQueryValueEx(     HKEY hKey,            // handle to key     LPCTSTR lpValueName,  // value name     LPDWORD lpReserved,   // reserved     LPDWORD lpType,       // type buffer     LPBYTE lpData,        // data buffer    

转 我修改的注册表,但是程序运行起来,还是记着以前的

我修改的注册表,但是程序运行起来,还是记着以前的,我查看了相关资料,说是修改只是暂时保存在memory,并没有保存到harddisk中,请高手指点一下,我用python写的,代码如下import win32apiimport win32con def RegSubkeySet(dbName, dbVersion):        key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER,'Software\\DSA\\PRODIS Office\\

C# 系统应用之通过注册表获取USB使用记录(一)

该文章是“个人电脑历史记录清除软件”项目的系统应用系列文章. 前面已经讲述了如何清除IE浏览器的历史记录.获取Windows最近访问文件记录.清除回收站等功能.现在我需要完成的是删除USB设备上的U盘.手机.移动硬盘等记录,真心觉得这方面资料特别少.这篇文章首先主要讲述了通过注册表获取USB使用记录,希望对大家有所帮助. 一.注册表基本知识 注册表(registry)是Windows系统中一个重要的数据库,它用于存储有关应用程序.用户和系统信息.注册表的结构就像一颗树.树的顶级节点(hive)不

C#根据字体名通过注册表获取该字体文件路径(win10)

方法一: 直接先上源码: private System.Collections.Generic.SortedDictionary<string, string> ReadFontInformation() { var dictionary = new System.Collections.Generic.SortedDictionary<string, string>(); Microsoft.Win32.RegistryKey localMachineKey = Microsof

读取注册表获取Windows系统XP/7/8/10类型(使用wcscmp比较wchar[]内容)

很多方案是采用GetVersion.GetVersionEx这两个API来查询操作系统的版本号来判断当前的操作系统是Windows系列中的哪个,在Win10没有出现前,这种方法是行的通的,但是Win10出现后此方法对于判断Win10就不准了. 在此提供一个读取注册表的方法,已经验证过可行: [cpp] view plain copy //查看注册表获知:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentV

Inno Setup中多语言时,使用占位符填充

如在: [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