Tạo một trình cài đặt để cài đặt một ứng dụng 64-bit

Ngày tạo trang :

Môi trường

Visual Studio-giường
  • Cộng đồng Visual Studio 2017
  • Cộng đồng Visual Studio 2019
WiX bộ công cụ
3.11.2

※ Hoạt động trong các phiên bản khác, nhưng chưa được xác nhận

Lúc đầu

WiX cài đặt nó như một ứng dụng 32-bit trừ khi được chỉ định rõ ràng. Ví dụ: khi bạn cài đặt trên một hệ điều hành 64 bit, nó được cài đặt trong C:\Program Files (x86) \folder.

Phần này mô tả các thiết lập để cài đặt như một ứng dụng 64-bit. Giả sử rằng bạn đã tạo một dự án WiX và bạn đã tạo một trình cài đặt.

Bằng cách này, nếu bạn cài đặt một ứng dụng 64-bit, nó là một ứng dụng 32-bit hoặc một ứng dụng 64-bit? Bởi vì nó phụ thuộc vào các tập tin mà tôi bao gồm, hãy nghĩ rằng các thiết lập của bên cài đặt để cuối cùng. Bạn cũng có thể ngăn chặn rõ ràng cài đặt trên hệ điều hành 32-bit bằng cách hỗ trợ trình cài đặt 64Bit.

Chuẩn bị trước

  • Giả sử rằng bạn đã tạo một trình cài đặt trong WiX.

Tạo dự án

Tạo một dự án mới cho trình cài đặt 64-bit. Nếu bạn cần tạo một trình cài đặt 32-bit và 64-bit, Nó rất hữu ích để có thể xây dựng nó cùng một lúc bằng cách chia nó thành một dự án riêng biệt từ 32bit.

image

image

image

Khi bạn đã tạo một dự án, bạn sẽ thiết lập dự án như phiên bản 32bit, và sau đó Sao chép các tập tin tạo ra trong phiên bản 32-bit cho dự án 64-bit.

image

Trong phiên bản 64-bit, bạn sẽ cần gần như cùng một tệp như phiên bản 32bit, do đó, có một cách để chia sẻ tệp. Bởi vì những lời giải thích trở thành một chút phức tạp, tôi sẽ phụ tùng thời gian này.

cài đặt 64Bit cho các dự án cài đặt

Để tạo một trình cài đặt cho một ứng dụng 64-bit, thay đổi thiết đặt dự án. Nếu bạn đặt các mẫu A hoặc B sau đây, bạn có thể làm như vậy.

Một cách khác để chỉ định x64 cho thuộc tính nền tảng của gói là Nó hiện không được chấp nhận và không có hiệu lực khi thiết lập, và bạn phải đặt tham số 64Bit cho mỗi tệp được cài đặt. Tôi không khuyên bạn nên nó vì nó là không hiệu quả.

A. Thêm x64 nền tảng cho dự án

Ban đầu, dự án chỉ có một x86 xây dựng cấu hình, do đó, thêm x64.

Chọn "Build" menu và "Configuration Manager".

image

Làm cho cấu hình giải pháp phát hành và chọn mới từ x64 dự án nền tảng.

image

Không tạo nền tảng mới "x64", "x86" nguồn và nền tảng giải pháp mới.

image

Khi bạn thêm nó, mở nền tảng một lần nữa. Chọn chỉnh sửa. Bằng cách này, x64 x64 có thể không có trong danh sách ngay sau khi bạn thêm nó, nhưng nó có thể được thêm vào danh sách khi bạn đóng và làm mới màn hình.

image

Loại bỏ x86 vì một Wix dự án trục trặc gây ra lựa chọn ban đầu để không chuyển sang x64 và x86. Tuy nhiên, điều này cũng có thể là một vấn đề và ngay cả khi x86 bị xóa, nó sẽ được phục sinh. Nếu bạn muốn chắc chắn rằng bạn xóa nó, đó là một ý tưởng tốt để mở tập tin dự án "wixproj" trong một trình soạn thảo văn bản và xóa các mã.

image

Nếu nó trông giống như hình dưới đây, nó là OK. Các nền tảng hoạt động ở phía trên bên phải vẫn còn x86, vì vậy nếu bạn đang tò mò, đổi tên nó trong chỉnh sửa.

image

B. Thêm "-Arch x64" vào các thông số biên soạn.

Bấm chuột phải vào dự án cài đặt 64Bit để mở thuộc tính.

image

Chọn cài đặt công cụ từ tab bên trái và thay đổi cấu hình để Release. Trong tham số bổ sung, nhập-Arch x64 trong trình biên soạn.

image

Làm cho thư mục đích là thư mục 64-bit

Mở Product. wxs.

Thay thế sau "Directory ID =" ProgramFilesFolder "với" thư mục ID = "ProgramFiles64Folder".

<Wix>
	<Fragment>
		<Directory Id="TARGETDIR" Name="SourceDir">
			<Directory Id="ProgramFiles64Folder">

Thay đổi tên tệp hoặc thư mục lối tắt trên menu bắt đầu

Không bắt buộc, nhưng nếu bạn sao chép các cài đặt 32bit như chúng, bạn có thể sao chép chúng trực tiếp trong các menu khởi động ứng dụng 32-bit và 64-bit. Phím tắt sẽ được bảo hiểm.

Thay đổi nó khi cần thiết.

<Wix>
  <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFiles64Folder">
        <Directory Id="INSTALLFOLDER" Name="LittleSaviorTrial">
          <Component Win64="yes" Id="LITTLESAVIORTRIAL.EXE" DiskId="1" Guid="E382FBDF-73E0-4511-A73D-E9798449F30E">
            <File Id="LITTLESAVIORTRIAL.EXE" Name="LittleSaviorTrial.exe" Source="LittleSaviorTrial\LittleSaviorTrial.exe" KeyPath="yes">
              <Shortcut Id="LITTLESAVIORTRIAL.EXE_shortcut" Name="ここのファイル名を 64bit 版に変える" Directory="ProgramMenuDir" WorkingDirectory="INSTALLDIR" Icon="LITTLESAVIOR.ICO" IconIndex="0" Advertise="yes" />
  <!-- 中略 -->
  <Directory Id="ProgramMenuFolder">
    <Directory Id="ProgramMenuDir" Name="ここのフォルダ名を 64bit 版に変える">
      <Component Id="ProgramMenuDir" Guid="5A73CC85-A1B3-4409-8C4F-3E8E888A7167">
        <RemoveFolder Id="ProgramMenuDir" On="uninstall" />

Sản phẩm. wxs tổng thể

Xây dựng trong trạng thái này để đảm bảo rằng trình cài đặt được tạo ra mà không có lỗi. Sau khi cài đặt trong một môi trường hệ điều hành 64-bit, xác minh rằng các thư mục và tập tin được tạo ra trong C:\Program Files\.

image

Ngoài ra, kiểm tra xem nếu nó không thành công khi bạn cố gắng cài đặt trong một môi trường 32bit OS.

image