리크 테스트 gui
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

87 lines
4.3 KiB

<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<Package Name="Leak Test System" Language="1042" Version="1.0.0" Manufacturer="MobiDigm" UpgradeCode="e1c8d0f1-4df2-4752-9b24-7f154562c5b3" Scope="perMachine">
<MajorUpgrade DowngradeErrorMessage="이미 최신 버전의 프로그램이 설치되어 있습니다." />
<MediaTemplate EmbedCab="yes" />
<!-- 바탕화면 바로가기를 위한 DesktopFolder 참조용 표준 폴더 선언 -->
<StandardDirectory Id="DesktopFolder" />
<!-- C 드라이브 루트 하위에 LeakTest 폴더 생성 강제 고정 (설치 시 목표 경로) -->
<StandardDirectory Id="TARGETDIR" />
<SetDirectory Id="LeakTestFolder" Value="C:\LeakTest" />
<!-- C:\ProgramData 참조용 표준 폴더 선언 -->
<StandardDirectory Id="CommonAppDataFolder">
<Directory Id="ProgramDataLeakTestFolder" Name="LeakTest" />
</StandardDirectory>
<!-- 제어판 프로그램 목록용 아이콘 설정 -->
<Icon Id="AppIcon.ico" SourceFile="$(var.PublishSourceDir)\EOL.ico" />
<Property Id="ARPPRODUCTICON" Value="AppIcon.ico" />
<Directory Id="LeakTestFolder">
<!-- Logs 폴더 서브 디렉토리 -->
<Directory Id="LogsFolder" Name="Logs" />
</Directory>
<ComponentGroup Id="ProductComponents" Directory="LeakTestFolder">
<!-- 실행 파일 -->
<Component Id="MainExecutable" Guid="f128c312-d922-4824-811c-d760773d2aae">
<File Id="leak_test_project.exe" Source="$(var.PublishSourceDir)\leak_test_project.exe" KeyPath="yes">
<!-- 바탕화면에 바로가기 생성 -->
<Shortcut Id="DesktopShortcut" Directory="DesktopFolder" Name="Leak Test System" WorkingDirectory="LeakTestFolder" Advertise="no" Icon="AppIcon.ico" />
</File>
</Component>
<!-- 구성 파일 -->
<Component Id="ConfigFile" Guid="a76d8b9e-64bc-44d5-9118-2e02b781da22">
<File Id="leak_test_project.dll.config" Source="$(var.PublishSourceDir)\leak_test_project.dll.config" KeyPath="yes" />
</Component>
<!-- 아이콘 파일 -->
<Component Id="EolIco" Guid="f31fa122-8321-4f92-9c12-32a76f2bfaee">
<File Id="EOL.ico" Source="$(var.PublishSourceDir)\EOL.ico" KeyPath="yes" />
</Component>
<!-- DB 및 로그인 설정 파일 -->
<Component Id="DatabaseIni" Guid="d82b4a1b-32ba-4b2a-a924-f3c14a2bb3ee">
<File Id="Database.ini" Source="$(var.PublishSourceDir)\Database.ini" KeyPath="yes" />
</Component>
<Component Id="LoginOptionsJson" Guid="c1a2d3e4-f5f6-4a4b-8c8d-9e9f0a0b0c0d">
<File Id="LoginOptions.json" Source="$(var.PublishSourceDir)\LoginOptions.json" KeyPath="yes" />
</Component>
<!-- PCI-Dask.dll: [DllImport("PCI-Dask.dll")] 탐색 경로 = EXE 실행 폴더(루트)에 배치 필수 -->
<Component Id="PciDaskDll" Guid="b129a28c-c2df-424a-8bf8-d61b12b23a9a">
<File Id="PCI_Dask.dll" Source="$(var.PublishSourceDir)\PCI-Dask.dll" KeyPath="yes" />
</Component>
<!-- Microsoft.Data.SqlClient.SNI.dll도 동일하게 루트에 배치 -->
<Component Id="SqlSniDll" Guid="c29a828d-d34e-42ef-abf9-c72b23c24b9b">
<File Id="Microsoft.Data.SqlClient.SNI.dll" Source="$(var.PublishSourceDir)\Microsoft.Data.SqlClient.SNI.dll" KeyPath="yes" />
</Component>
<!-- C:\LeakTest 루트 파일 제거 (Logs 폴더 및 로그 데이터는 보존) -->
<Component Id="CleanupLeakTestRoot" Guid="a128c312-d922-4824-811c-d760773d2aaf">
<CreateFolder />
<RemoveFile Id="PurgeRootFiles" On="uninstall" Name="*" Directory="LeakTestFolder" />
<RemoveFolder Id="CleanupRootFolder" On="uninstall" Directory="LeakTestFolder" />
</Component>
<!-- C:\ProgramData\LeakTest 폴더 및 하위 설정 파일 삭제 -->
<Component Id="CleanupProgramData" Guid="e228c312-d922-4824-811c-d760773d2aaf" Directory="ProgramDataLeakTestFolder">
<CreateFolder />
<RemoveFile Id="PurgeProgramDataFiles" On="uninstall" Name="*" />
<RemoveFolder Id="CleanupProgramDataFolder" On="uninstall" />
</Component>
</ComponentGroup>
<!-- 설치 대상 지정 -->
<Feature Id="ProductFeature" Title="Leak Test System Setup" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Package>
</Wix>