1
0
Fork 0

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:
Yun Chan 2026-09-03 20:57:26 +09:00
parent 28624c386e
commit 4a4f2b78e4
6 changed files with 176 additions and 64 deletions

View file

@ -1,51 +1,4 @@
@echo off
chcp 65001 > nul
title Everything2Everything 1-클릭 설치기
:: 1. 관리자 권한 확인 및 자동 승격 (UAC)
net session >nul 2>&1
if %errorlevel% neq 0 (
echo [안내] 인증서 신뢰 등록 및 MSIX 패키지 설치를 위해 관리자 권한을 요청합니다...
powershell -NoProfile -ExecutionPolicy Bypass -Command "Start-Process cmd.exe -ArgumentList '/c cd /d \"\"%~dp0\"\" && \"\"%~f0\"\"' -Verb RunAs"
exit /b
)
cd /d "%~dp0"
echo ==========================================================
echo Everything2Everything 1-클릭 자동 설치 프로그램
echo ==========================================================
echo.
powershell -NoProfile -ExecutionPolicy Bypass -Command ^
"$ErrorActionPreference = 'Stop';" ^
"try {" ^
" Write-Host '[1/2] 개발자 인증서 신뢰 저장소(TrustedPeople) 등록 중...' -ForegroundColor Cyan;" ^
" $cer = Get-ChildItem -Path . -Filter '*.cer' | Select-Object -First 1;" ^
" if ($cer) {" ^
" Import-Certificate -FilePath $cer.FullName -CertStoreLocation 'Cert:\LocalMachine\TrustedPeople' | Out-Null;" ^
" Import-Certificate -FilePath $cer.FullName -CertStoreLocation 'Cert:\LocalMachine\Root' | Out-Null;" ^
" Write-Host ' 인증서 신뢰 등록 성공: ' $cer.Name -ForegroundColor Green;" ^
" } else {" ^
" Write-Host ' [주의] 폴더 내 .cer 인증서가 없습니다. 건너뜁니다.' -ForegroundColor Yellow;" ^
" }" ^
" Write-Host '[2/2] Everything2Everything MSIX 패키지 설치 중...' -ForegroundColor Cyan;" ^
" $msix = Get-ChildItem -Path . -Filter '*.msix' | Select-Object -First 1;" ^
" if (-not $msix) { throw 'MSIX 패키지 파일(*.msix)을 찾을 수 없습니다.' }" ^
" Add-AppxPackage -Path $msix.FullName -ForceApplicationShutdown;" ^
" Write-Host ' 패키지 설치 성공: ' $msix.Name -ForegroundColor Green;" ^
" Write-Host '';" ^
" Write-Host '==========================================================' -ForegroundColor Green;" ^
" Write-Host ' Everything2Everything 설치가 성공적으로 완료되었습니다!' -ForegroundColor Green;" ^
" Write-Host ' - 파일 우클릭 시 최상위 컨텍스트 메뉴가 활성화됩니다.' -ForegroundColor Gray;" ^
" Write-Host '==========================================================' -ForegroundColor Green;" ^
"} catch {" ^
" Write-Host '';" ^
" Write-Host '❌ 설치 중 오류가 발생했습니다:' -ForegroundColor Red;" ^
" Write-Host $_.Exception.Message -ForegroundColor Red;" ^
" Write-Host '';" ^
" Write-Host '동일 버전이 이미 설치되어 있는 경우 기존 앱을 삭제 후 다시 시도해 주세요.' -ForegroundColor Yellow;" ^
"}"
echo.
pause
:: Everything2Everything 1-클릭 자동 설치기 (TrustedPeople 인증서 신뢰 등록 및 MSIX 패키지 설치)
powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0Install.ps1"