论坛风格切换切换到宽版
  • 2256阅读
  • 3回复

虎版请教个问题吧 INNo验证程序是否注册的问题 [复制链接]

上一主题 下一主题
离线yiyeshu2012
 

发帖
17
金钱
170
威望
17
只看楼主 倒序阅读 0 发表于: 2014-12-15
我搜索了下大部分都说是基于
注册表HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall(即“添加/删除程序”)中的卸载项目
这种方式检测
但是在32位和64位下的注册表这个位置是不同的
64位多了这么个节点

wow6432node




那么这样的话是否在不同位的操作系统下判断程序是否注册需要写两份?
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 1 发表于: 2014-12-16
根据不同的操作系统会自动指向相应的分支的,你不必手动指定。
参看:
http://stackoverflow.com/questions/18724116/how-to-create-registry-entry-based-on-windows-type
离线yiyeshu2012

发帖
17
金钱
170
威望
17
只看该作者 2 发表于: 2014-12-16
我是调用这么一个函数判断
function InstallMySQLServer(): Boolean;
begin
    result := RegKeyExists(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{36BCD0A2-045C-4077-9702-A327FF1276E9}');
end;
离线yiyeshu2012

发帖
17
金钱
170
威望
17
只看该作者 3 发表于: 2014-12-16
虎版我是根据位置去判断不是去生成注册表
所以...
还是需要手工指定吧?