如果没有安装其他程序,我必须找到如何跳过安装的方法。我可以检测其他程序的注册表(基本脚本返回true / false),这不是问题。但我不知道如何跳过安装。
简而言之:如果未设置注册表中的一个键,则在此之前打印消息'instal program xyz'并完成安装程序。
答案 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
,安装程序将立即退出。