WiX part2를 사용하여 Windows 설치 프로그램 "MSI" 만들기
처음에
마지막으로 필요한 파일을 준비하고 프로젝트를 설정했습니다. 이번에는 "Product.wxs"를 편집하고 설치 관리자의 다양한 설정을 만듭니다.
설치 설정 편집(Product.wxs)
Product.wxs 파일의 내용은 XML 형식으로 설명되어 있습니다. 매개 변수의 수가 있지만, 먼저 우리는 설치 프로그램을 만들 수 있는지 확인하기 위해 최소 설정을 만들 것입니다. 자세한 내용은 다른 기사 나 공식 웹 사이트를 참조하십시오.
프로젝트 생성 시 코드는 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="SetupLittleSaviorTrial_x86" Language="1033" Version="1.0.0.0" Manufacturer="" UpgradeCode="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<Feature Id="ProductFeature" Title="SetupLittleSaviorTrial_x86" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="SetupLittleSaviorTrial_x86" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<!-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -->
<!-- <Component Id="ProductComponent"> -->
<!-- TODO: Insert files, registry keys, and other resources here. -->
<!-- </Component> -->
</ComponentGroup>
</Fragment>
</Wix>
다음은 변경해야 하는 몇 가지 사항입니다. 존재하지 않는 태그와 특성을 추가합니다.
Wix/제품/@Id
응용 프로그램을 식별하는 GUID를 설정합니다.
GUID를 생성하는 도구는 많지만 Visual Studio와 함께 제공되는 도구를 빠르게 사용할 수 있습니다. 메뉴 "도구"와 "GUID 만들기"를 선택합니다.
하이픈을 포함한 36자리 코드를 얻고 Wix/제품/@Id 설정합니다.
<Wix>
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />
Wix/제품/@Name
설치 프로그램 화면의 각 부분에 표시되는 응용 프로그램 이름입니다. 프로그램 추가 및 제거 목록에 표시되는 이름일 수도 있습니다.
<Wix>
<Product Name="リトルセイバー 体験版" />
Wix/제품/@Manufacturer
제조업체의 이름을 입력합니다. 설치 작성자 또는 프로그램 목록의 게시자로 나타납니다.
<Wix>
<Product Manufacturer="ソーサリーフォース">
Wix/제품/UIRef/@Id
설치 마법사에 표시할 화면을 식별하는 ID를 입력합니다. 이번에는 라이센스만 표시하고 설치하는 최소 구성이므로 "WixUI_Minimal"이 지정됩니다.
<Wix>
<Product>
<UIRef Id="WixUI_Minimal" />
나는 다음 사이트가 어떤 종류의 지정을 할 수 있는지에 도움이 될 것이라고 생각합니다.
Wix/제품/Wix변수/*
마법사 UI에서 사용할 파일을 지정합니다. 최소 구성은 세 개의 파일을 사용합니다. ID 값이 고정되고 값은 파일 이름입니다.
<Wix>
<Product>
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
설치 응용 프로그램 아이콘
"프로그램 추가 및 제거"등에 표시되는 응용 프로그램 아이콘에 사용됩니다.
아이콘 요소의 "SourceFile"에서 ico 파일을 프로젝트 폴더의 상대 경로로 지정합니다.
"속성 Id="ARPPRODUCTICON"아이콘의 연결 정의입니다.
<Wix>
<Product>
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
Wix/조각(파일 폴더 구성)
설치할 폴더 구성을 설정합니다. 원래는 파일을 배치하지만 먼저 폴더만 만듭니다.
"Id="ProgramMenuDir"로 설정된 "이름"의 값은 시작 메뉴 바로 가기에 배치된 폴더의 이름입니다. 가이드도 설정합니다.
<Wix>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="SetupLittleSaviorTrial_x86" />
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ProgramMenuDir" Name="リトルセイバー 体験版">
<Component Id="ProgramMenuDir" Guid="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" KeyPath="yes" />
</Component>
</Directory>
</Directory>
</Directory>
</Fragment>
설치 파일 추가
Product.wxs 파일에 직접 추가할 수도 있습니다. 파일에 GUID가 필요하므로 더 많은 파일로 작업하기가 어렵습니다. 따라서 파일을 추가하려면 WixEdit을 사용하여 파일을 추가합니다.
WixEdit을 시작합니다.
Product.wxs 파일을 엽니다.
왼쪽아이콘에서 파일을 선택합니다. 프로그램파일폴더 아래의 폴더를 삭제합니다.
ProgramFiles폴더 폴더를 마우스 오른쪽 단추로 클릭하고 가져오기 폴더를 선택합니다.
파일을 설치하려는 폴더를 선택합니다.
파일 집합이 트리에 추가됩니다.
다른 매개 변수와 연결하려면 추가된 폴더를 선택하고 "ID"를 다시 "INSTALLFOLDER"로 설정합니다.
시작 메뉴에 대한 바로 가기를 만듭니다. exe 파일의 마우스 오른쪽 클릭 메뉴에서 "새" 및 "바로 가기"를 선택합니다.
바로 가기가 추가되면 바로 가기를 선택하고 빈 공간을 마우스 오른쪽 단추로 클릭하여 속성을 추가합니다.
다음 매개 변수추가: (프로그램에 맞게 고유 이름을 변경합니다.)
특성 | 값 |
---|---|
아이디 | 리틀구세이더심. EXE_shortcut |
이름 | 리틀 세이버 트라이얼 |
디렉토리 | 프로그램 메뉴 디어 |
작업 디렉토리 | 설치DIR |
아이콘 | 리틀구주. ICO |
아이콘인덱스 | 0 |
광고 | 예 |
그런 다음 "기능" 탭을 선택하고 "ProductFeature"를 마우스 오른쪽 단추로 클릭하고 추가할 구성 요소 선택을 선택합니다.
모두 선택합니다.
추가.
구해내다.
Product.wxs는 다음과 같이 보일 것입니다.
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" Name="リトルセイバー 体験版" Language="1033" Version="1.0.0.0" Manufacturer="ソーサリーフォース" UpgradeCode="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<UIRef Id="WixUI_Minimal" />
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
<Feature Id="ProductFeature" Title="SetupLittleSaviorTrial_x86" Level="1">
<ComponentGroupRef Id="ProductComponents" />
<ComponentRef Id="LITTLESAVIOR.ICO" />
<ComponentRef Id="LITTLESAVIORTRIAL.EXE" />
<ComponentRef Id="LITTLESAVIORTRIAL.EXE.CONFIG" />
<ComponentRef Id="ProgramMenuDir" />
</Feature>
<UI />
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="LittleSaviorTrial">
<Component Id="LITTLESAVIOR.ICO" DiskId="1" Guid="0B4DD82C-C6EF-4299-8EAB-4F9BB35FD952">
<File Id="LITTLESAVIOR.ICO" Name="LittleSavior.ico" Source="LittleSaviorTrial\LittleSavior.ico" />
</Component>
<Component Id="LITTLESAVIORTRIAL.EXE" DiskId="1" Guid="8D805936-A25E-4DA6-9A0A-A5BDB2AD768D">
<File Id="LITTLESAVIORTRIAL.EXE" Name="LittleSaviorTrial.exe" Source="LittleSaviorTrial\LittleSaviorTrial.exe" KeyPath="yes">
<Shortcut Id="LITTLESAVIORTRIAL.EXE_shortcut" Name="リトルセイバー 体験版" Directory="ProgramMenuDir" WorkingDirectory="INSTALLDIR" Icon="LITTLESAVIOR.ICO" IconIndex="0" Advertise="yes" />
</File>
</Component>
<Component Id="LITTLESAVIORTRIAL.EXE.CONFIG" DiskId="1" Guid="790C427A-A72C-4444-ACD6-ECF32AA788AD">
<File Id="LITTLESAVIORTRIAL.EXE.CONFIG" Name="LittleSaviorTrial.exe.config" Source="LittleSaviorTrial\LittleSaviorTrial.exe.config" />
</Component>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ProgramMenuDir" Name="リトルセイバー 体験版">
<Component Id="ProgramMenuDir" Guid="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" KeyPath="yes" />
</Component>
</Directory>
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
</ComponentGroup>
</Fragment>
</Wix>
확인 을 빌드 및 실행
비주얼 스튜디오에서 솔루션 구성을 "릴리스"로 만듭니다.
빌드 솔루션에서 빌드를 시작합니다.
건물이 성공하면 "bin\Release" 폴더에 msi 파일이 생성됩니다.
실행하려고 하면 설치 프로그램이 시작됩니다.
설치가 완료되면 시작 메뉴에서 바로 가기를 생성합니다.
파일은 프로그램 파일(x86) 폴더에 배치됩니다.
응용 프로그램은 "프로그램 및 기능"에도 나타납니다.
응용 프로그램을 실행하고 제대로 작동하는지 확인합니다.
요약
여기에서는 Visual Studio 및 WiX를 사용하여 MSI 설치 프로그램을 만드는 단계를 설명했습니다. 자세한 설정을 별도의 문서에서 설명하고 싶습니다.