Sử dụng WiX để tạo trình cài đặt Windows "MSI" Phần 2
Bắt đầu
Lần cuối cùng, tôi đã chuẩn bị các tài liệu cần thiết và thiết lập dự án. Lần này, bạn sẽ chỉnh sửa Sản phẩm.wxs để thiết lập các cài đặt khác nhau của trình cài đặt.
Chỉnh sửa cài đặt cài đặt (Product.wxs)
Nội dung của tệp sản phẩm.wxs được mô tả ở định dạng XML. Có rất nhiều tham số, nhưng trước tiên, chúng tôi sẽ thực hiện các thiết lập tối thiểu để đảm bảo rằng trình cài đặt có thể được tạo ra. Nếu bạn muốn thiết lập chi tiết hơn, vui lòng truy cập các bài viết khác hoặc trang web chính thức.
Khi bạn tạo một dự án, mã trông như thế này:
<?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>
Dưới đây là nơi bạn cần thay đổi. Thêm thẻ và thuộc tính không tồn tại.
Wix/Product/@Id
Thiết lập GUID xác định ứng dụng.
Có rất nhiều công cụ để tạo GUID, nhưng rất nhanh bằng cách sử dụng các công cụ đi kèm với Vision Studio. Chọn Công cụ và Tạo GUID từ menu.
Lấy mã 36 chữ số có dấu gạch nối và đặt nó thành Wix/Sản phẩm/@Id.
<Wix>
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />
Wix/Product/@Name
Đây là tên ứng dụng được hiển thị trong các phần khác nhau của màn hình cài đặt. Nó cũng là tên được hiển thị trong danh sách Thêm hoặc Xóa chương trình.
<Wix>
<Product Name="リトルセイバー 体験版" />
Wix/Product/@Manufacturer
Nhập tên của nhà sản xuất. Nó sẽ xuất hiện trong tác giả cài đặt và nhà xuất bản danh sách chương trình.
<Wix>
<Product Manufacturer="ソーサリーフォース">
Wix/Product/UIRef/@Id
Nhập ID của màn hình hiển thị trình hướng dẫn cài đặt danh tính. Lần này, tôi chỉ định "WixUI_Minimal" vì nó là cấu hình tối thiểu chỉ hiển thị và cài đặt giấy phép.
<Wix>
<Product>
<UIRef Id="WixUI_Minimal" />
Tôi nghĩ rằng các trang web sau đây sẽ giúp bạn chỉ định những gì.
Wix/Product/WixVariable/*
Chỉ định các tệp bạn muốn sử dụng trong giao diện người dùng thuật sĩ. Cấu hình tối thiểu sử dụng ba tệp: Giá trị của Id được cố định và tên tệp được chỉ định cho giá trị.
<Wix>
<Product>
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
Cài đặt biểu tượng ứng dụng
Được sử dụng cho các biểu tượng ứng dụng, chẳng hạn như Thêm hoặc xóa chương trình.
Trong Tệp Nguồn của phần tử biểu tượng, chỉ định tệp ico liên quan đến đường dẫn đến thư mục dự án.
Thuộc tính Id="ARPPRODUCTICON" là định nghĩa liên kết của biểu tượng.
<Wix>
<Product>
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
Wix/Phân mảnh (thư mục cấu hình)
Đặt cấu hình thư mục bạn muốn cài đặt. Ban đầu, bạn sẽ đặt các tập tin, nhưng trước tiên chỉ tạo ra một thư mục.
Giá trị Tên được đặt trong Menu Chương trình Id=là tên của thư mục được đặt trong lối tắt menu Bắt đầu. Vui lòng thiết lập Guid.
<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>
Thêm tệp cài đặt
Bạn có thể thêm nó theo cách thủ công vào tệp sản phẩm.wxs. Bởi vì các tập tin yêu cầu GUID, điều này là rất khó khăn khi số lượng các tập tin tăng lên. Vì vậy, sử dụng WixEdit để thêm các tập tin.
Khởi chạy "WixEdit".
Mở tệp sản phẩm.wxs của bạn.
Chọn Tệp từ biểu tượng bên trái. Loại bỏ các thư mục bên dưới Thư mục Tệp Chương trình.
Nhấp chuột phải vào thư mục Thư mục Tệp Chương trình, sau đó chọn Nhập thư mục.
Chọn thư mục nơi tệp bạn muốn cài đặt.
Một loạt các tập tin được thêm vào cây.
Để liên kết với các tham số khác, hãy chọn thư mục đã thêm và đặt lại ID thành INSTALLFOLDER.
Tạo lối tắt đến menu Bắt đầu. Chọn "Mới" và "Ngắn" từ menu nhấp chuột phải của tệp exe.
Sau khi bạn thêm Shortcut, chọn nó, sau đó nhấp chuột phải vào khoảng trắng để thêm thuộc tính.
Thêm các tham số sau: (Vui lòng đổi tên tên duy nhất theo chương trình.)
thuộc tínhGiá trị | |
---|---|
Id | LITTLESAVIORTRIAL. EXE_shortcut |
Name | Phiên bản dùng thử của thanh kiếm nhỏ |
Directory | ProgramMenuDir |
WorkingDirectory | INSTALLDIR |
Icon | LITTLESAVIOR. ICO |
IconIndex | 0 |
Advertise | yes |
Sau đó, chọn tab Tính năng, nhấp chuột phải vào Tính năng sản phẩm, sau đó chọn Chọn thành phần để thêm.
Chọn tất cả.
Đã được thêm vào.
Lưu.
Sản phẩm.wxs nên trông như thế này:
<?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>
Xây dựng và chạy kiểm tra
Trong Vision Studio, đặt cấu hình giải pháp thành Xuất bản.
Bắt đầu với một giải pháp xây dựng.
Sau khi xây dựng thành công, các tập tin msi được tạo ra trong thư mục phát hành bin_.
Khi bạn chạy trình cài đặt, trình cài đặt sẽ khởi động.
Khi quá trình cài đặt hoàn tất, lối tắt sẽ được tạo trong menu Bắt đầu.
Các tập tin được đặt trong thư mục Chương trình Tập Tin (x86).
Ứng dụng cũng được hiển thị trong Chương trình và Tính năng.
Chạy ứng dụng để đảm bảo nó hoạt động bình thường.
Tóm tắt
Ở đây chúng tôi mô tả các bước để tạo trình cài đặt MSI bằng cách sử dụng Vision Studio và WiX. Tôi muốn thảo luận về các thiết lập chi tiết trong một bài viết khác.