Dispenser/DispenserDesktop/package/install.iss

359 lines
21 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

; 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;