Inno设置 - 如果未安装其他程序,请跳过安装

时间:2011-05-06 08:16:15

标签: installation inno-setup skip

如果没有安装其他程序,我必须找到如何跳过安装的方法。我可以检测其他程序的注册表(基本脚本返回true / false),这不是问题。但我不知道如何跳过安装。

简而言之:如果未设置注册表中的一个键,则在此之前打印消息'instal program xyz'并完成安装程序。

1 个答案:

答案 0 :(得分:7)

这很容易。只需添加

[Code]

function IsApp2Installed: boolean;
begin
  result := RegKeyExists(HKEY_LOCAL_MACHINE,
    'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\app2.exe');
end;

function InitializeSetup: boolean;
begin
  result := IsApp2Installed;
  if not result then
    MsgBox('You need to install App2 before you install ThisApp. Install App2 and then run this installer again.', mbError, MB_OK);
end;

到您的ISS文件。 InitializeSetup是所谓的event function,在安装程序启动时执行(甚至在显示向导GUI之前)。如果您返回false,安装程序将立即退出。