Tôi mới vào trình cài đặt wix. Tôi đã phát triển một thiết lập bằng cách sử dụng trình cài đặt wix cho ứng dụng của tôi và tôi cần phải thực hiện một hành động tùy chỉnh để chạy một lệnh trong cmd.exe. Trong XP nó hoạt động tốt. Nhưng trong Windows 8 & 7 nhắc lệnh cmd cần được chạy với tư cách quản trị viên.Chạy ExeCommand trong tùy chỉnhHành động như chế độ Quản trị viên trong Trình cài đặt Wix
Tôi đã googled và tìm thấy các từ khóa Đặc quyền nâng cao và mạo danh có thể giúp tôi.
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" InstallPrivileges="elevated"></Package>
Như bạn thấy ở trên, tôi đã sử dụng các thuộc tính InstallScope thiết lập để perMachine, và tôi đã sử dụng Mạo danh = "Không" trong các yếu tố CustomAction:
<CustomAction Id='comReg' Directory='INSTALLLOCATION' Impersonate='no'
ExeCommand='"[NETFRAMEWORK40CLIENTINSTALLROOTDIR]regasm.exe" "[INSTALLLOCATION]myProduct.dll" /codebase' Return='check' />
Nhưng tôi đã không nhận được bất kỳ thay đổi trong khi cài đặt. Tôi cần dấu nhắc lệnh để mở và chạy lệnh trên trong Chế độ quản trị viên.
Và bất cứ ai có thể vui lòng cho tôi biết về những từ khóa "đặc quyền nâng cao & mạo danh"
<InstallExecuteSequence>
<Custom Action='comReg' After='InstallFinalize'>NOT REMOVE</Custom>
<Custom Action='comUnreg' Before='RemoveFiles'>REMOVE</Custom>
</InstallExecuteSequence>
Làm thế nào để làm điều đó?
nó chỉ cho tôi một lỗi như Lỗi ICE77: comReg là một hành động tùy chỉnh trong kịch bản. Nó phải được giải mã ở giữa hành động và hành động InstallInitialize InstallFinalize trong bảng InstallExecuteSequence @tjleigh – Arshad
ở đâu bạn lên kế hoạch hành động tùy chỉnh của bạn? Nhìn vào phần tử '' của bạn. Khi trạng thái lỗi, nó cần phải nằm giữa InstallInitialize và InstallFinalize. Tôi có lẽ sẽ đặt nó 'Before =" InstallFinalize "'. –
tjleigh
@ tjleigh: Tôi đã chỉnh sửa câu hỏi của tôi, bạn có thể vui lòng giúp tôi ra khỏi điều này.! – Arshad