Inno-Setup:安装后打开链接:打开链接时的防病毒警报

时间:2011-03-21 08:15:08

标签: installation inno-setup antivirus

我正在使用inno安装程序构建安装程序,安装后会打开指向网站的链接 目前看起来像这样:

[Run]
Filename: iexplore.exe; Parameters: http://doma.in/uri/ Verb: open; Flags: shellexec runasoriginaluser

这样做很好,除了测试显示,例如Kaskersky发出警告,未经授权的进程(设置)启动了一个想要访问加密密码的授权进程(Internet Explorer)。哪(当然)可能是一种威胁。 因为我只想打开浏览器来显示网址,所以摆脱这条消息会很棒。

这是我目前评估的选项

  • 不幸的是,Run Filename:iexplore和Pascal Script Shell-Exec('open'...)之间没有区别?
  • 也许在某种程度上可以通过操作系统传递消息来创建webbrowser的新实例,而不将其创建为子进程(即不触发警告)。
  • 正如我为统计数据所做的那样,从设置中调用winhttp库就足够了。但这是不可行的,因为用户可以安装防火墙(参见HTTP POST request in Inno Setup Script)。
  • 签名设置有帮助吗?这会抑制警告吗?

3 个答案:

答案 0 :(得分:9)

以下适用于我:

[Run]
Filename: "http://doma.in/uri/"; Flags: shellexec runasoriginaluser

答案 1 :(得分:5)

在您的iss文件的末尾:

[Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
    ErrCode: integer;
begin
    if (CurStep=ssDone) then
    begin
        ShellExec('open', 'http://your.app.url/', '', '', SW_SHOW, ewNoWait, ErrCode);
    end;
end;

答案 2 :(得分:4)

Mike Sutton指出的基本上是正确的,但您需要将postinstall添加到标志中。这使它在设置完成后运行。此外,您需要说明以告知设置完成屏幕显示复选框的内容。

[Run]
Filename: "http://doma.in/uri/"; Flags: shellexec runasoriginaluser postinstall; Description: "Open the url."

如果您希望选项加入而不是退出,您也可以考虑未选中的标记。