Dispenser/DispenserDesktop/package/install.iss

359 lines
21 KiB
Plaintext
Raw Normal View History

2024-08-16 07:20:09 +00:00
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
; <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><C7B4><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ԴĿ¼λ<C2BC><CEBB>
#define DeployDir "D:\workspace\deploy"
#define MyAppName "Dispenser"
#define MyAppVersion "1.0.0-alpha-20240131"
#define MyAppPublisher "Beijing Haiju, Inc."
#define MyAppURL "https://www.haijuDispenser.com/"
#define MyAppExeName "Dispenser.exe"
#define MyAppAssocName MyAppName + " File"
#define MyAppAssocExt ".myp"
#define MyAppAssocKey StringChange(MyAppAssocName, " ", "") + MyAppAssocExt
#define SourceDir DeployDir + "\program"
#define SetupIcon SourceDir + "\favicon.ico"
#define UninstallIcon SourceDir + "\favicon.ico"
#define GUID "8D5DB57B-B0AE-49F6-A3D2-F502A656825C"
[Setup]
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{{#GUID}}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\{#MyAppName}
ChangesAssociations=yes
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
LicenseFile={#SourceDir}\package\license.txt
InfoBeforeFile={#SourceDir}\package\before-install.txt
InfoAfterFile={#SourceDir}\package\after-install.txt
; Uncomment the following line to run in non administrative install mode (install for current user only.)
;PrivilegesRequired=lowest
OutputDir={#DeployDir}
OutputBaseFilename={#MyAppName}-{#MyAppVersion}
Compression=lzma
SolidCompression=yes
WizardStyle=modern
<><D6B8><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>ж<EFBFBD>س<EFBFBD><D8B3><EFBFBD>ͼ<EFBFBD><CDBC>
SetupIconFile={#SetupIcon}
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>ͼ<EFBFBD><CDBC>
UninstallDisplayIcon={#UninstallIcon}
[Languages]
Name: "chinesesimplified"; MessagesFile: "compiler:Languages\ChineseSimplified.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "{#SourceDir}\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Assets\*"; DestDir: "{app}\Assets\"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#SourceDir}\runtimes\win\*"; DestDir: "{app}\runtimes\win\"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#SourceDir}\runtimes\win-x64\*"; DestDir: "{app}\runtimes\win-x64\"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#SourceDir}\runtimes\win-x86\*"; DestDir: "{app}\runtimes\win-x86\"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#SourceDir}\zh-Hans\*"; DestDir: "{app}\zh-Hans\"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#SourceDir}\AnimatedImage.Avalonia.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\AnimatedImage.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\AspectInjector.Broker.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Base.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Controls.ColorPicker.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Controls.DataGrid.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Controls.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Controls.ItemsRepeater.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.DesignerSupport.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Desktop.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Diagnostics.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Dialogs.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Fonts.Inter.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.FreeDesktop.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Markup.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Markup.Xaml.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Metal.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.MicroCom.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Native.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.OpenGL.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.ReactiveUI.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Remote.Protocol.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Skia.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Themes.Fluent.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Themes.Simple.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.Win32.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Avalonia.X11.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\BouncyCastle.Crypto.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\ColorTextBlock.Avalonia.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\CommunityToolkit.Mvvm.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\DialogHost.Avalonia.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\DynamicData.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\EntityFramework.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\EntityFramework.SqlServer.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\GxIAPINET.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\HarfBuzzSharp.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Markdown.Avalonia.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Dispenser.deps.json"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Dispenser.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Dispenser.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Dispenser.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Dispenser.runtimeconfig.json"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\DispenserCommon.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\DispenserCommon.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\DispenserUI.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\DispenserUI.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\MessageBoxSlim.Avalonia.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\MicroCom.Runtime.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.AspNetCore.Server.Kestrel.Https.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.CodeAnalysis.CSharp.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.CodeAnalysis.CSharp.Scripting.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.CodeAnalysis.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.CodeAnalysis.Scripting.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Configuration.Abstractions.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Configuration.Binder.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Configuration.CommandLine.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Configuration.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Configuration.EnvironmentVariables.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Configuration.FileExtensions.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Configuration.Ini.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Configuration.Json.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Configuration.UserSecrets.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.DependencyInjection.Abstractions.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.DependencyInjection.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.DependencyModel.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Diagnostics.Abstractions.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Diagnostics.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.FileProviders.Abstractions.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.FileProviders.Physical.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.FileSystemGlobbing.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Hosting.Abstractions.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Hosting.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Logging.Abstractions.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Logging.Configuration.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Logging.Console.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Logging.Debug.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Logging.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Logging.EventLog.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Logging.EventSource.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Options.ConfigurationExtensions.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Options.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Extensions.Primitives.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Microsoft.Win32.SystemEvents.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\MsBox.Avalonia.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Newtonsoft.Json.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Opc.Ua.Bindings.Https.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Opc.Ua.Client.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Opc.Ua.Configuration.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Opc.Ua.Core.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Opc.Ua.Gds.Client.Common.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Opc.Ua.Gds.Server.Common.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Opc.Ua.Security.Certificates.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Opc.Ua.Server.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\OpcUaHelper.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\OpcUaSdk.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\OpcUaSdk.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\ReactiveUI.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Serilog.AspNetCore.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Serilog.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Serilog.Exceptions.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Serilog.Extensions.Hosting.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Serilog.Extensions.Logging.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Serilog.Formatting.Compact.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Serilog.Settings.Configuration.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Serilog.Sinks.Console.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Serilog.Sinks.Debug.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Serilog.Sinks.File.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\settings.ini"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\SkiaSharp.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Splat.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.CodeDom.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.Configuration.ConfigurationManager.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.Data.SqlClient.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.Data.SQLite.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.Data.SQLite.EF6.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.Diagnostics.DiagnosticSource.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.Diagnostics.EventLog.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.Drawing.Common.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.IO.Ports.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.Private.ServiceModel.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.Reactive.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.Security.Cryptography.ProtectedData.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.Security.Permissions.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.ServiceModel.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.ServiceModel.Primitives.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.Text.Encodings.Web.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.Text.Json.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\System.Windows.Extensions.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#SourceDir}\Tmds.DBus.Protocol.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#DeployDir}\dotnet-runtime-7.0.15-win-x64.exe"; DestDir: "{app}"; Flags: noencryption deleteafterinstall
Source: "{#DeployDir}\windowsdesktop-runtime-7.0.15-win-x64.exe"; DestDir: "{app}"; Flags: noencryption deleteafterinstall
Source: "{#DeployDir}\aspnetcore-runtime-7.0.15-win-x64.exe"; DestDir: "{app}"; Flags: noencryption deleteafterinstall
Source: "{#DeployDir}\Galaxy_Windows_Runtime.exe"; DestDir: "{app}"; Flags: noencryption deleteafterinstall
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Run]
Filename: "{app}\dotnet-runtime-7.0.15-win-x64.exe"; Parameters: "/norestart"; StatusMsg: "<22><><EFBFBD>Ժ<EFBFBD>!<21><><EFBFBD>ڼ<EFBFBD>鰲װ<E9B0B2><D7B0>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD> .NET RUNTIME 7.0"; Check: not IsDotNetRuntimeInstalled('Microsoft.NETCore.App 7.')
Filename: "{app}\windowsdesktop-runtime-7.0.15-win-x64.exe"; Parameters: "/norestart"; StatusMsg: "<22><><EFBFBD>Ժ<EFBFBD>!<21><><EFBFBD>ڼ<EFBFBD>鰲װ<E9B0B2><D7B0>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD> DESKTOP RUNTIME Core 7.0"; Check: not IsDotNetRuntimeInstalled('Microsoft.WindowsDesktop.App 7.')
Filename: "{app}\aspnetcore-runtime-7.0.15-win-x64.exe"; Parameters: "/norestart"; StatusMsg: "<22><><EFBFBD>Ժ<EFBFBD>!<21><><EFBFBD>ڼ<EFBFBD>鰲װ<E9B0B2><D7B0>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD> ASP.NET RUNTIME 7.0"; Check: not IsDotNetRuntimeInstalled('Microsoft.AspNetCore.App 7.')
[Run]
Filename: "{app}\Galaxy_Windows_Runtime.exe"; Parameters: "/norestart"; StatusMsg: "<22><><EFBFBD>Ժ<EFBFBD>!<21><><EFBFBD>ڼ<EFBFBD>鰲װ<E9B0B2><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"; Check: not IsGalaxyInstalled
[Registry]
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocExt}\OpenWithProgids"; ValueType: string; ValueName: "{#MyAppAssocKey}"; ValueData: ""; Flags: uninsdeletevalue
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}"; ValueType: string; ValueName: ""; ValueData: "{#MyAppAssocName}"; Flags: uninsdeletekey
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},0"
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1"""
Root: HKA; Subkey: "Software\Classes\Applications\{#MyAppExeName}\SupportedTypes"; ValueType: string; ValueName: ".myp"; ValueData: ""
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "{#MyAppName}"; ValueData: "{app}\{#MyAppExeName}"
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
[Run]
// [Run]- <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD>ɰ<EFBFBD>װ<EFBFBD><D7B0><EFBFBD>ڰ<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>նԻ<D5B6><D4BB><EFBFBD>ǰҪִ<D2AA>е<EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[Code]
// <20>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD><D1BE><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD> .NET RUNTIME <20><><EFBFBD><EFBFBD>
function IsDotNetRuntimeInstalled(DotNetName: string): Boolean;
var
Cmd, Args: string;
FileName: string;
Output: AnsiString;
Command: string;
ResultCode: Integer;
begin
FileName := ExpandConstant('{tmp}\dotnet.txt');
Cmd := ExpandConstant('{cmd}');
Command := 'dotnet --list-runtimes';
// <20><> dotnet --list-runtimes <20>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dotnet.txt <20>ļ<EFBFBD>
Args := '/C ' + Command + ' > "' + FileName + '" 2>&1';
if Exec(Cmd, Args, '', SW_HIDE, ewWaitUntilTerminated, ResultCode) and (ResultCode = 0) then
begin
// <20><> dotnet.txt <20>ļ<EFBFBD> <20>ж<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
if LoadStringFromFile(FileName, Output) then
begin
if Pos(DotNetName, Output) > 0 then
begin
Result := True;
end
else
begin
MsgBox(DotNetName + ' <20><EFBFBD><E6B1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>밲װ<EBB0B2><D7B0>', mbError, MB_OK);
Result := False;
end;
end
end
else
begin
MsgBox(DotNetName + ' <20><EFBFBD><E6B1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>밲װ<EBB0B2><D7B0>', mbError, MB_OK);
Result := False;
end;
// ɾ<><C9BE> dotnet.txt <20>ļ<EFBFBD>
DeleteFile(FileName);
end;
// <20>жϴ<D0B6><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>װ<EFBFBD>ɹ<EFBFBD>
function IsGalaxyInstalled: Boolean;
begin
Result := True;
if RegValueExists(HKLM64, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Galaxy Runtime SDK_is1', 'DisplayName') then
begin
Result := True;
Exit;
end
else if RegValueExists(HKLM64, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Galaxy SDK_is1', 'DisplayName') then
begin
Result := True;
Exit;
end
else
begin
MsgBox('ȱ<>ٱ<EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װĿ<D7B0><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', mbError, MB_OK);
Result := False;
Exit;
end;
end;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
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;
//׼<><D7BC><EFBFBD><EFBFBD>װ
function InitializeSetup(): Boolean;
var
ResultStr: String;
ResultCode: Integer;
begin
result := IsAppRunning('{#MyAppExeName}');
if result then
begin
MsgBox('<27><>⵽{#MyAppName}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>ȹرճ<D8B1><D5B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! ', mbError, MB_OK);
result:=false;
end
else if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#GUID}_is1', 'UninstallString', ResultStr) then
begin
if MsgBox('<27>Ƿ<EFBFBD>ж<EFBFBD><D0B6><EFBFBD>Ѱ<EFBFBD>װ<EFBFBD><D7B0>{#MyAppName}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD><CAB7><EFBFBD>ݣ<EFBFBD>', mbConfirmation, MB_YESNO) = IDYES then
begin
ResultStr := RemoveQuotes(ResultStr);
Exec(ResultStr, '/silent', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
end;
result:=true;
end
else
begin
result:=true;
end;
end;
//׼<><D7BC>ж<EFBFBD><D0B6>
function InitializeUninstall(): Boolean;
begin
result := IsAppRunning('{#MyAppExeName}');
if result then
begin
MsgBox('<27><>⵽{#MyAppName}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>ȹرճ<D8B1><D5B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! ', mbError, MB_OK);
result:=false;
end
else
begin
result:=true;
end
end;