SmartGantt.Util.MakeInstaller 7.3.1

MakeInstaller

이 프로젝트는 SmartGantt 소프트웨어의 패키징 및 배포 프로세스를 자동화하는 C# 애플리케이션입니다. 설치 파일을 만들고, 릴리스 및 업데이트 파일을 패키징하며, 이를 업데이트 서버에 업로드하는 등의 작업을 처리합니다. Setup 프로젝트 빌드가 성공하면 빌드후 이벤트로 이 프로젝트 결과물(exe)이 실행됩니다.

실행

빌드

  • Debug, x64, MakeInstaller를 시작프로젝트로 설정한 후 빌드합니다.

배포 파일 테스트

  1. Main에서 Upload(), Delete()를 주석처리합니다.
  2. Release, x64로 빌드합니다.
  3. SmartGanttSetup 디렉토리에서 MakeInstaller.exe를 실행하여 결과 파일들을 확인합니다.

프로젝트 설정

프로젝트 설정은 VS 솔루션 탐색기에서 프로젝트명을 더블클릭하거나(MakeInstaller.csproj 파일), 우클릭 메뉴 [속성(Alt+Enter)]를 선택하면 확인할 수 있습니다.

빌드 후 이벤트

  1. Release 빌드 전 RemovePackage
    • gantt-core\nuget 디렉토리에 같은 패키지가 존재하면 삭제합니다.
  2. Release 빌드 후 PostBuild
    • dotnet publish: 애플리케이션을 빌드하지 않고 게시합니다.
    • publish 결과물을 SmartGanttSetup 디렉토리에 복사합니다.

패키지

Nuget 배포시 표시되는 패키지의 정보입니다.

<!-- Release 빌드할때, 빌드가 끝나면 Nuget 패키지를 생성합니다 -->
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>

<!-- 패키지 정보 -->
<PropertyGroup>
    <ApplicationIcon>app-logo.ico</ApplicationIcon>
    <PackageIcon>logo.png</PackageIcon>
    <PackageId>SmartGantt.Util.$(AssemblyName)</PackageId>
    <Title>$(AssemblyName)</Title>
    <Authors>KSTEC</Authors>
    <Company>KSTEC</Company>
    <Version>7.3.1</Version>
    <Product>SmartGantt Make Installer tool</Product>
    <Description>SmartGantt 패키지 인스톨러를 만들어줍니다.</Description>
    <Copyright>Copyright © 1997. KSTEC Inc.</Copyright>
    <PackageProjectUrl></PackageProjectUrl>
    <PackageReadmeFile>README.md</PackageReadmeFile>
    <RepositoryUrl>https://gitlab.com/kstec/sp7/gantt/gantt-core</RepositoryUrl>
    <PackageTags>smartgantt</PackageTags>
    <PackageOutputPath>..\nuget\</PackageOutputPath>
</PropertyGroup>

프로세스 흐름

1. 런처 설정 가져오기

애플리케이션은 SmartGantt 런처의 설정 파일을 가져옵니다. 다음과 같은 설정을 사용합니다:

  • InstallPairs
  • UpdateFiles
  • IsAllUpdate
  • IsLauncherUpdate
  • UpdateExclusionFiles
  • UpdateExclusionDirectories
  • UploadApi

2. 릴리스 파일 패키징

릴리스 파일들은 ZipFile.CreateFromDirectory 메서드를 사용하여 .zip 파일로 압축됩니다.

3. 설치 파일 생성

릴리스 파일들은 7-Zip을 사용하여 실행 가능한 .exe 설치 파일로 묶입니다. 이 설치 파일은 7-Zip 아카이브와 SFX(Self-Extracting Archive) 모듈을 결합하여 생성됩니다.

4. 업데이트 파일 패키징

업데이트 파일은 전체 업데이트인지 부분 업데이트인지에 따라 다르게 처리됩니다. 파일과 디렉토리를 복사한 후 .zip 파일로 압축되어 업데이트 서버로 업로드됩니다.

5. 파일 업로드

생성된 설치 파일과 업데이트 파일은 업데이트 서버에 업로드됩니다.

6. 파일 삭제

프로세스 동안 생성된 임시 파일들(예: .zip 파일)은 완료 후 삭제됩니다.

No packages depend on SmartGantt.Util.MakeInstaller.

Version Downloads Last updated
7.3.1 0 12/22/2025
7.3.0 10 08/16/2024