네, 좋습니다! Inno Setup을 사용하여 친구들이 그냥 '다음' 버튼만 누르면 인증서 설치와 앱 설치가 한 번에 끝나는 마법의 .iss 스크립트를 짜드리겠습니다.
아래 코드를 복사해서 Cursor에 붙여넣으시고, 중간에 있는 주석(한글 설명) 부분을 본인의 환경에 맞게 수정하세요.
FocusGate.iss)Code snippet
[Setup]
; 앱 이름과 버전 설정
AppName=FocusGate
AppVersion=1.0.0
DefaultDirName={autopf}\FocusGate
; 관리자 권한 필수 요구
PrivilegesRequired=admin
OutputBaseFilename=FocusGate_Installer
Compression=lzma
SolidCompression=yes
[Files]
; 내 PC에 있는 파일들을 설치 파일에 포함시키는 단계
; [주의] FocusGate.msix와 MyCertificate.cer 파일이 이 스크립트와 같은 폴더에 있어야 합니다.
Source: "FocusGate.msix"; DestDir: "{tmp}"; Flags: ignoreversion
Source: "MyCertificate.cer"; DestDir: "{tmp}"; Flags: ignoreversion
[Run]
; 1. 인증서 등록 (백그라운드 실행, 사용자에게 창 안 보임)
Filename: "certutil"; Parameters: "-addstore root ""{tmp}\MyCertificate.cer"""; Flags: runhidden; StatusMsg: "인증서를 설정하는 중입니다..."
; 2. 앱 설치 (관리자 권한으로 Power Shell 실행, 창 안 보임, 완료 대기)
; [주의] Add-AppxPackage 명령어 뒤의 파일 이름이 실제와 같은지 확인하세요.
Filename: "powershell.exe"; Parameters: "-ExecutionPolicy Bypass -Command ""Add-AppxPackage -Path '{tmp}\FocusGate.msix'"""; Flags: runhidden waituntilterminated; StatusMsg: "앱을 설치하는 중입니다..."
[Code]
; 추가적인 설치 완료 메시지 등은 여기에서 제어 가능합니다.
이것도 해줘 : **FocusGate.msix**: 본인이 빌드한 실제 .msix 파일 이름으로 변경하세요.
.exe로 만드나요? (3단계 요약)innosetup-6.x.x.exe를 다운받아 설치합니다..iss 파일로 저장합니다.FocusGate.msix 파일과 MyCertificate.cer 파일을 그 .iss 파일이 있는 폴더에 같이 둡니다..iss 파일을 불러옵니다.Output 폴더 안에 FocusGate_Installer.exe 파일이 짠! 하고 나타납니다.FocusGate.msix: 본인이 빌드한 실제 .msix 파일 이름으로 변경하세요.MyCertificate.cer: 본인의 테스트용 인증서 파일 이름으로 변경하세요. (인증서 내보내기 시 반드시 .cer 확장자로 만드세요.)이 .exe 파일 하나만 친구에게 주거나 깃허브에 올려서 링크를 걸면, 친구들은 아무것도 모르고 그냥 [다음] -> [다음] -> [설치] 버튼만 눌러서 편하게 설치할 수 있습니다! 이제 진짜 끝났습니다! 준비되셨나요?
이 부분은 아주 간단합니다! FocusGate.msix와 MyCertificate.cer은 실제 파일이 있는 폴더에서 이름을 확인하고 스크립트에 똑같이 적어주기만 하면 됩니다.
단계별로 설명해 드릴게요.
.msix 파일 찾기:
AppPackages 또는 bin 폴더를 찾아보세요.FocusGate.msix가 아니라 FocusGate_1.0.0.0_x64.msix처럼 길게 되어 있을 겁니다.FocusGate.msix로 이름을 짧게 바꿔주세요..cer 파일 찾기:
MyCert.cer이라면, 파일명을 MyCertificate.cer로 이름을 바꾸세요.