gpt4 book ai didi

exe - inno setup 可执行文件被视为病毒

转载 作者:行者123 更新时间:2023-12-02 06:21:39 42 4
gpt4 key购买 nike

早上好,

我用 Innosetup 创建的 exe 被视为病毒!!!

这真的很烦人,因为我无法派他们来帮助我的用户。有人遇到过这个问题吗?

我使用InnoSetup 5.5,并且我实际上并不复制文件,我只需要生成一些命令来处理证书。

提前致谢

[编辑]

Inno 脚本

所以这有点复杂,因为我需要使用 psexec 获得管理员权限,删除以前的证书,然后安装新的证书

#define MyAppName "Update Certificate"
#define MyAppVersion "1.0"
#define MyAppPublisher "kkk"
#define MyAppExeName "updateBase"
#define installConf "installConfig.exe"
#define uninstallCert "unCert.exe"
#define psexec "psexec.exe"
#define passAdmin "password"


[Setup]

AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppPublisher={#MyAppPublisher}
DefaultDirName={localappdata}
DisableDirPage=yes
DisableReadyPage=yes
DisableWelcomePage=yes
PrivilegesRequired=none
CreateAppDir=no
CreateUninstallRegKey = no
OutputBaseFilename={#MyAppExeName}
Compression=lzma
SolidCompression=yes
SetupIconFile=favicon.ico

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Files]
Source: "{#installConf}"; Flags: dontcopy
Source: "{#psexec}"; Flags: dontcopy
Source: "{#uninstallCert}"; Flags: dontcopy

[Code]
var
ResultCode: Integer;
Page: TWizardPage;
CustomPageID: Integer;
InstallRadioButton: TNewRadioButton;
DeleteRadioButton: TNewRadioButton;
UpdateRadioButton: TNewRadioButton;

procedure ExitProcess(exitCode:integer);
external 'ExitProcess@kernel32.dll stdcall';

unCert.exe正在处理证书以删除它们

// Uninstall previous certificate 
function UninstallCertificat(): Boolean;var
arg: String;
begin
ExtractTemporaryFile('{#uninstallCert}');
ExtractTemporaryFile('{#psexec}');
arg := ' /accepteula -u Administrateur -p {#passAdmin} -i ' + AddQuotes(ExpandConstant('{tmp}\{#uninstallCert}')) ;
Result := Exec(AddQuotes(ExpandConstant('{tmp}\{#psexec}')),arg,'', SW_SHOW, ewWaitUntilTerminated, ResultCode);
Log(AddQuotes(ExpandConstant('{tmp}\{#psexec}')));
Log(AddQuotes(ExpandConstant('{tmp}\{#uninstallCert}')));
if ResultCode <> 0 then begin
MsgBox('InitializeSetup:' #13#13 'Certificat Uninstall Failed', mbError, MB_OK);
ExitProcess(2);
end else begin;
MsgBox('InitializeSetup:' #13#13 'Certificat Uninstall Done', mbInformation, MB_OK);
end;
end;

// Géneration des Mots de passe pour le certificats
function getPassWord(): string;
var
computerName: string;
V: string;
begin
// Something to generate the password
end;



// Certificate installation
function InstallCertificat(): Boolean;var
arg: String;
Filename: string;
pass: string;
begin
pass := getPassWord();;
ExtractTemporaryFile('{#psexec}');

Filename := ExpandConstant('{tmp}\cert.p12');
FileCopy(ExpandConstant('{src}\cert.p12'),ExpandConstant('{tmp}\cert.p12'), False);
arg := ' /accepteula -u Administrateur -p {#passAdmin} -i ' + GetSystemDir() +'\certutil.exe -p ' + pass + ' -importPFX ' + Filename + ' NoExport';
Result := Exec(AddQuotes(ExpandConstant('{tmp}\{#psexec}')),arg,'', SW_SHOW, ewWaitUntilTerminated, ResultCode);
if ResultCode <> 0 then begin
Log( SysErrorMessage(ResultCode));
MsgBox('InitializeSetup:' #13#13 'Certificat Installation Failed', mbError, MB_OK);
ExitProcess(2);
end else begin;
MsgBox('InitializeSetup:' #13#13 'Certificat Installation Done' , mbInformation, MB_OK);
end;
end;

最佳答案

尝试注释掉 SetupIconFile 行。就我而言,防病毒问题出在 .ico 文件上。

关于exe - inno setup 可执行文件被视为病毒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24864545/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com