feat(installer): add Inno Setup installer and fix Shell C++ DLL docx leakage
- Introduce Inno Setup standard EXE installer (Everything2Everything-Setup-x64.exe) for zero-friction end-user installation without certificate trust friction - Fix hardcoded .docx recommendation in Everything2Everything.Shell dllmain.cpp - Improve MSIX Install.cmd and Install.ps1 with robust privilege elevation and path parsing - Integrate Inno Setup into tools/Publish-Release.ps1 pipeline and release upload - Add automated regression tests for installer and packaging integrity
This commit is contained in:
parent
28624c386e
commit
4a4f2b78e4
6 changed files with 176 additions and 64 deletions
57
packaging/Everything2Everything.iss
Normal file
57
packaging/Everything2Everything.iss
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
; Everything2Everything Inno Setup Script
|
||||
#ifndef MyAppVersion
|
||||
#define MyAppVersion "1.0.8"
|
||||
#endif
|
||||
|
||||
#define MyAppName "Everything2Everything"
|
||||
#define MyAppPublisher "YunChan"
|
||||
#define MyAppURL "https://git.chanpaca.net/yunchan/Everything2Everything"
|
||||
#define MyAppExeName "Everything2Everything.exe"
|
||||
|
||||
[Setup]
|
||||
AppId={{D3E4F5A6-B7C8-4901-2345-6789ABCDEF01}
|
||||
AppName={#MyAppName}
|
||||
AppVersion={#MyAppVersion}
|
||||
AppPublisher={#MyAppPublisher}
|
||||
AppPublisherURL={#MyAppURL}
|
||||
AppSupportURL={#MyAppURL}
|
||||
AppUpdatesURL={#MyAppURL}
|
||||
DefaultDirName={autopf}\{#MyAppName}
|
||||
UninstallDisplayIcon={app}\{#MyAppExeName}
|
||||
SetupIconFile=..\src\Everything2Everything.App\app.ico
|
||||
Compression=lzma2/ultra64
|
||||
SolidCompression=yes
|
||||
WizardStyle=modern
|
||||
ArchitecturesAllowed=x64compatible
|
||||
ArchitecturesInstallIn64BitMode=x64compatible
|
||||
DisableProgramGroupPage=yes
|
||||
OutputDir=dist
|
||||
OutputBaseFilename=Everything2Everything-{#MyAppVersion}-Setup-x64
|
||||
PrivilegesRequired=lowest
|
||||
PrivilegesRequiredOverridesAllowed=dialog commandline
|
||||
CloseApplications=yes
|
||||
RestartApplications=no
|
||||
|
||||
[Languages]
|
||||
Name: "korean"; MessagesFile: "compiler:Languages\Korean.isl"
|
||||
Name: "english"; MessagesFile: "compiler:Default.isl"
|
||||
|
||||
[Tasks]
|
||||
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
||||
|
||||
[Files]
|
||||
Source: "..\publish\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||
|
||||
[Icons]
|
||||
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
|
||||
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
|
||||
|
||||
[Run]
|
||||
; 설치 완료 후 윈도우 우클릭 탐색기 메뉴 자동 등록
|
||||
Filename: "{app}\{#MyAppExeName}"; Parameters: "register"; Flags: runhidden
|
||||
; 앱 실행 (사일런트 설치가 아닐 때만)
|
||||
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
|
||||
|
||||
[UninstallRun]
|
||||
; 프로그램 삭제 전 윈도우 우클릭 탐색기 메뉴 자동 해제
|
||||
Filename: "{app}\{#MyAppExeName}"; Parameters: "unregister"; Flags: runhidden
|
||||
Loading…
Add table
Add a link
Reference in a new issue