请问各位大哥哥,关于Inno Setup ,怎样可以搜索出电脑是否已经安装了某个软件啊?(50分)

  • 主题发起人 主题发起人 smallpig8191981
  • 开始时间 开始时间
S

smallpig8191981

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟我用 Inno Setup 来进行程序打包。现在遇上一个难题,我希望可以在程序安装的时候,可以搜索注册表是否已经安装了数据库,如果安装了,则推出数据库安装,否则,程序提供一个数据库安装给电脑

我这样说大家明白吗?

我举个例子:
我现在想安装一个Server,但是在安装Server之前电脑必须已经有数据库。于是在Server安装程序当中,进行了注册表的搜索,如果电脑已经有数据库,则继续安装Server;否则,Server会提供一个msde安装的选择给用户。

大致功能如上,本人用 Inno Setup,需要写一个 Pascal 脚本: 创建
代码:
 段 ,但不知如何写,在此请教各位了
 
笨的方法是整个硬盘搜索具有那个软件特征的文件,比如可执行的或特别的DLL文件。
好点的方法是知道这个软件在注册表的位置,再结合前者。
 
to weiliu;我已经知道注册表的键值了,但是我不知道该怎样写一个
代码:
 段 的 Pascal 脚本 来搜索,请教了
 
各位。。。。。。。。。。。。。。请教啊。。。。。。。。。。。
 
Uses
Registry;
var
RegOraPath:TRegistry;

RegOraPath:=TRegistry.Create ;
RegOraPath.RootKey :=HKEY_LOCAL_MACHINE; //根
if RegOraPath.KeyExists('Software/ORACLE/All_homes/ID0') then //是否存在
begin
RegOraPath.OpenKey('Software/ORACLE/All_homes/ID0',false); //打开键
EdtPath.Text :=RegOraPath.ReadString('Path')+'/network/ADMIN'; //读取
end;
RegOraPath.Destroy ;

类似这样
 
晕啊,晕啊,我还是不清楚,可以详细点吗
 
多人接受答案了。
 
后退
顶部