Tôi đang gặp sự cố lạ với WiX 3.8 và Trình cài đặt Windows.Windows Installer chỉ thay đổi cài đặt của tôi thành ALLUSERS = 1 sau lưng tôi
Tôi đã tạo plugin Outlook mà tôi muốn người dùng cuối không có quyền quản trị để có thể cài đặt trên máy của họ.
Vì vậy, tôi cẩn thận chắc chắn
- không viết thư cho bất kỳ thư mục hệ thống cấp cao (như
C:\program files
vv) trong khi cài đặt - không viết thư cho bất kỳ khóa registry hệ thống cấp cao (như
HKEY_LOCAL_MACHINE
)
và trong kịch bản WiX của tôi, tôi chắc chắn để thiết lập ALLUSERS=0
và cũng đặt tất cả các thuộc tính có liên quan khác mà tôi tìm thấy perUser
hoặc limited
:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
<Product Id="*" Name="MyAddin" Language="1033" Version="1.0.0"
Manufacturer="Me" UpgradeCode="-some-guid-" Codepage="1252">
<Package InstallerVersion="200" Compressed="yes"
InstallScope="perUser"
Description="yada yada" Manufacturer="Me" Languages="1033" SummaryCodepage="1252"
InstallPrivileges="limited"
Comments="yada yada" />
<Property Id="ALLUSERS" Value="0"/>
tôi đã tưởng tượng rằng sẽ làm việc - nhưng trên hệ thống thử nghiệm của tôi, với một tài khoản bình thường chuẩn do người dùng (không có đặc quyền admin), Mỹ cài đặt thất bại thảm hại - với một hộp thoại thông báo cho tôi rằng tôi không có đủ quyền để cài đặt này cho tất cả người dùng ....
WTF? Tôi đặc biệt muốn cài đặt ứng dụng này cho ** chỉ người dùng * này - không phải tất cả người dùng trên máy!
Nhìn vào các bản ghi MSI, tôi thấy những điều đáng kinh ngạc:
MSI (c) (B0: B4) [18: 08: 08: 543]: Lưu ý: 1: 2262 2: AdminProperties 3: -2147287038
MSI (c) (B0: B4) [18: 08: 08: 543]: Máy trị chính sách 'AlwaysInstallElevated' là 0
MSI (c) (B0: B4) [18: 08: 08: 543 ]: Giá trị chính sách người dùng 'AlwaysInstallElevated' là 0
MSI (c) (B0: B4) [18: 08: 08: 543]: Chạy sản phẩm '........' với đặc quyền của người dùng: Nó không được chỉ định .
...
MSI (c) (B0: B4) [18: 08: 08: 543]: ĐỔI SỞ HỮU: Sửa đổi thuộc tính ALLUSERS. Giá trị hiện tại của nó là '0'. Giá trị mới của nó: '1'.
* Tại sao trên trái đất là Windows Installer quyết định chỉ cần thay đổi ALLUSERS
tài sản để 1
?!?!? Tôi chưa bao giờ nói với nó !! Sheesh .......
Bất kỳ ý tưởng nào? Suy nghĩ? Con trỏ?
InstallScope (và InstallPrivileges) của bạn phải đủ để bắt buộc cài đặt cho mỗi người dùng. vì vậy tôi sẽ đưa ra ALLUSERS rõ ràng = 0 và xem bạn có nhận được cài đặt cho mỗi người dùng hay không. Bạn vẫn sẽ nhận được các lỗi bảo mật nếu bản cài đặt cố gắng truy cập các mục bị hạn chế, nhưng đó là một vấn đề riêng biệt. – PhilDW
@PhilDW: ** CẢM ƠN! ** Đó là nó - thú vị - bằng cách xóa * * ALLUSERS = 0', tôi đột nhiên nhận được cài đặt cho mỗi người dùng ..... .... bạn nên làm cho câu trả lời này để tôi có thể chấp nhận nó! –
Tôi hy vọng có một cách để nói với trình cài đặt của bạn rằng tôi muốn * cài đặt tất cả người dùng? –