[code]
//许可证默认允许开始
procedure InitializeWizard();
begin
WizardForm.LICENSEACCEPTEDRADIO.Checked := true;
end;
//许可证默认允许结束
//更改卸载框弹出框开始
[Messages]
;卸载对话框说明
ConfirmUninstall=您真的想要从电脑中卸载单号扫描器吗?%n%n按 [是] 将会删除 %1 以及它的组件;%n按 [否] 则让软件继续留在您的电脑上.
//更改卸载框弹出框结束
[Registry]
Root: HKLM ;SubKey:"Software\ZhugAssistant";ValueType:dword;ValueName:config;ValueData:10 ;Flags: uninsdeletekey
[code]
//检测程序是否重复安装开始
function InitializeSetup(): boolean;
var Istoken: boolean;
begin
Istoken := true;
if RegValueExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\ZhugAssistant', 'config') then
begin
MsgBox('程序已安装,请卸载后再尝试安装!',mbConfirmation, MB_OK);
Istoken := false;
end else
begin
Istoken := true;
end;
Result := Istoken;
end;
//检测程序是否重复安装结束
//检测程序是否运行开始
function IsAppRunning(const FileName: string): Boolean;
var
FWMIService: Variant;
FSWbemLocator: Variant;
FWbemObjectSet: Variant;
begin
Result := false;
FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator');
FWMIService := FSWbemLocator.ConnectServer('', 'root\CIMV2', '', '');
FWbemObjectSet := FWMIService.ExecQuery(Format('SELECT Name FROM Win32_Process Where Name="%s"',[FileName]));
Result := (FWbemObjectSet.Count > 0);
FWbemObjectSet := Unassigned;
FWMIService := Unassigned;
FSWbemLocator := Unassigned;
end;
//准备卸载
function InitializeUninstall(): Boolean;
begin
result := IsAppRunning('{#MyAppExeName}');
if result then
begin
MsgBox('检测到{#MyAppName}正在运行,请先关闭程序后重试! ', mbError, MB_OK);
result:=false;
end
else
begin
result:=true;
end
end;
//检测程序是否运行结束