2013-10-09 48 views
8

Tôi đang sử dụng chương trình đang được cài đặt bằng cách sử dụng lệnh wix. (Không biết nếu nó có liên quan nhưng đó là một chương trình C#)Wix - Cách chạy các tệp exe sau khi cài đặt từ thư mục đã cài đặt?

Tôi muốn chạy tệp exe đã được cài đặt bởi tệp msi, nhưng vị trí của cài đặt không xác định với tôi vì người dùng chọn đường dẫn cài đặt .

Tôi muốn hỏi ví dụ về cách chạy tệp exe từ vị trí mà người dùng chọn.

Mặc dù nó không phải là một phần của câu hỏi, tôi cũng rất vui khi thấy một số ví dụ về việc chạy tệp exe từ một vị trí tuyệt đối vì tôi là người mới bắt đầu làm quen và làm tất cả lần đầu tiên.

Trả lời

10

Điều này có thể đạt được với sự trợ giúp của Tiện ích WIX. Các đậm/nghiêng văn bản dưới đây sẽ xử lý các trường hợp tìm ra vị trí chính xác của EXE của bạn :)

Bước 1: Thêm các thư viện mở rộng của dự án

của bạn Nếu bạn đang sử dụng WiX trên dòng lệnh bạn cần phải thêm dòng sau vào ngọn nến của bạn và dòng lệnh ánh sáng:

-ext WixUIExtension -ext WixUtilExtension 

Nếu bạn đang sử dụng Visual Studio bạn có thể thêm các phần mở rộng bằng cách sử dụng hộp thoại Reference Add:

Right click on your project in Solution Explorer and select Add Reference... 
Select the WixUIExtension.dll assembly from the list and click Add 
Select the WixUtilExtension.dll assembly from the list and click Add 
Close the Add Reference dialog 

Bước 2: Thêm UI để cài đặt của bạn

Các WiX Minimal chuỗi UI bao gồm một bộ cơ bản của hộp thoại bao gồm một hộp thoại thành với hộp kiểm tùy chọn. Để bao gồm chuỗi trong dự án của bạn, hãy thêm đoạn mã sau vào bất kỳ đâu bên trong phần tử <Product>.

<UI> 
    <UIRef Id="WixUI_Minimal" /> 
</UI> 

Để hiển thị hộp kiểm trên màn hình cuối cùng của trình cài đặt bao gồm những điều sau đoạn bất cứ nơi nào bên trong phần tử <Product>:

<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch My Application Name" /> 

Thuộc tính WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT được cung cấp bởi các dãy UI tiêu chuẩn đó, khi thiết lập, hiển thị hộp kiểm và sử dụng giá trị được chỉ định làm nhãn hộp kiểm.

Bước 3: Bao gồm các hành động tùy chỉnh

hành động tuỳ chỉnh được bao gồm trong một dự án WiX sử dụng nguyên tố này. Chạy một ứng dụng được thực hiện với hành động tùy chỉnh WixShellExecTarget. Để nói Windows Installer về hành động tùy chỉnh, và để thiết lập thuộc tính của nó, bao gồm trong dự án của bạn bất cứ nơi nào bên trong phần tử <Product>:

<Property Id="WixShellExecTarget" Value="[#myapplication.exe]" /> 
<CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" /> 

Yếu tố tài sản đặt WixShellExecTarget đến vị trí của các ứng dụng được cài đặt. WixShellExecTarget là thuộc tính Id mà hành động tùy chỉnh WixShellExec mong đợi sẽ được đặt thành vị trí của tệp để chạy.*

Thuộc tính Giá trị sử dụng # nhân vật đặc biệt để nói WiX để tìm kiếm con đường được cài đặt đầy đủ của tập tin với myapplication.exe id.


Yếu tố CustomAction bao gồm các hành động trong trình cài đặt. Nó được đưa ra một Id duy nhất, và các thuộc tính BinaryKey và DllEntry cho biết điểm lắp ráp và điểm vào cho hành động tùy chỉnh. Thuộc tính Impersonate cho Windows Installer chạy hành động tùy chỉnh như người dùng cài đặt.

Bước 4: Kích hoạt các hành động tùy chỉnh

Đơn giản chỉ cần bao gồm các hành động tùy chỉnh, như trong Bước 3, không đủ để gây ra nó để chạy. Trình cài đặt Windows cũng phải được thông báo khi hành động tùy chỉnh được kích hoạt. Điều này được thực hiện bằng cách sử dụng phần tử <Publish> để thêm nó vào các hành động chạy khi người dùng nhấp vào nút Hoàn tất trên trang cuối cùng của hộp thoại Giao diện người dùng. Yếu tố Publish nên được bao gồm bên trong phần tử từ bước 2, và trông như thế này:

<Publish Dialog="ExitDialog" 
    Control="Finish" 
    Event="DoAction" 
    Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish> 

Thuộc tính hộp thoại xác định hộp thoại Action Tuỳ chỉnh sẽ được gắn vào, trong trường hợp này ExitDialog. Thuộc tính Control chỉ định rằng nút Finish trên hộp thoại kích hoạt hành động tùy chỉnh. Thuộc tính Sự kiện cho biết rằng hành động tùy chỉnh sẽ được chạy khi nút được nhấp và thuộc tính Giá trị chỉ định hành động tùy chỉnh được bao gồm trong Bước 3. Điều kiện trên phần tử ngăn tác vụ đó chạy trừ khi hộp kiểm từ Bước 2 được chọn và ứng dụng đã thực sự được cài đặt (thay vì bị xóa hoặc sửa chữa).

Kiểm tra liên kết này để biết chi tiết. How to run exe after install. Tôi đã sao chép nó ở đây vì lợi ích của những người khác đang tìm kiếm cùng một câu trả lời.

+0

Bạn có muốn thử trả lời câu hỏi này không: (một cái mới) http://stackoverflow.com/questions/19355537/wix-setting-install-folder-correctly –

+1

Khi tôi thử trình cài đặt này không bao giờ tồn tại. Khi bạn cố gắng đóng trình cài đặt, nó sẽ khởi chạy một ứng dụng mới mỗi khi bạn nhấp vào gần nhưng nó không bao giờ thoát. –

Các vấn đề liên quan