Từ chủ đề MSDN trên sequencing custom actions:
Như trong trường hợp của các hành động tiêu chuẩn, hành động tùy chỉnh được lên kế hoạch trong các InstallUISequence hoặc AdminUISequence chạy chỉ khi giao diện người dùng nội bộ được thiết lập để mức đầy đủ.
Vì vậy, tôi đoán hành động tùy chỉnh của bạn được lên lịch trong chuỗi giao diện người dùng chứ không phải trong InstallExecuteSequence
. Cố gắng lên kế hoạch hành động tùy chỉnh của bạn trong InstallExecuteSequence
như thế này:
<InstallExecuteSequence>
<Custom Action='LaunchApplication' After='InstallFiles'/>
</InstallExecuteSequence>
nơi "LaunchApplication" nên được thay thế bằng Id
của nguyên tố CustomAction
của bạn.
chỉnh sửa: Tôi đã xem instructions mà bạn đã theo dõi và tôi không thấy hành động tùy chỉnh để khởi chạy ứng dụng đang được lên lịch theo trình tự bất kỳ. Nó chỉ được kích hoạt từ một hành động UI (nhấn vào nút Finish). Điều này giải thích tại sao nó không bao giờ được thực thi trong khi cài đặt im lặng.
chỉnh sửa: đầy đủ mẫu (đó là một chút cẩu thả vì nó cũng cố gắng để thực hiện thao tác tùy chỉnh trên gỡ bỏ cài đặt, sửa chữa vv nhưng đối với một số lý do tôi không thể có được điều kiện "không được cài đặt" để làm việc)
<?xml version='1.0' encoding='utf-8'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
<Product
Name='ProductName'
Id='*'
Language='1033'
Version='0.0.1'
Manufacturer='ManufacturerName' >
<Package
Keywords='Installer'
Description='Launch application demo'
Manufacturer='ManufactererName'
InstallerVersion='100'
Languages='1033'
Compressed='yes'
SummaryCodepage='1252'/>
<Media Id='1' Cabinet='test.cab' EmbedCab='yes'/>
<Directory Id='TARGETDIR' Name="SourceDir">
<Directory Id='ProgramFilesFolder'>
<Directory Id='TestFolder' Name='Test' >
<Component Id="ExeComponent" Guid="*">
<File Id="ExeFile" Source="c:\windows\notepad.exe" />
</Component>
</Directory>
</Directory>
</Directory>
<Feature Id='Complete'
Display='expand'
Level='1'
Title='Test'
Description='Test'>
<ComponentRef Id="ExeComponent" />
</Feature>
<InstallExecuteSequence>
<Custom Action='LaunchInstalledExe' After='InstallFinalize'/>
</InstallExecuteSequence>
<CustomAction Id="LaunchInstalledExe"
FileKey="ExeFile"
ExeCommand=""
Execute="immediate"
Impersonate="yes"
Return="asyncNoWait" />
</Product>
</Wix>
Nguồn
2009-12-11 22:37:53
Lưu ý: Tôi đang sử dụng thuộc tính có tên LAUNCHAPPONEXIT để kiểm soát hành động tùy chỉnh khởi chạy ứng dụng của tôi. Và giá trị mặc định của nó là 1. – deerchao
Đây là cách tiếp cận tôi đang sử dụng để khởi chạy sau khi thiết lập: http://www.dizzymonkeydesign.com/blog/misc/adding-and-customizing-dlgs-in-wix-3/ – deerchao