Vui lòng, ai đó có thể cung cấp cho tôi đoạn mã hoặc giải pháp WiX cho kịch bản được đề cập. Tôi cần phải bao gồm các tập tin pfx trong msi WiX và người dùng sẽ tải về msi của tôi để máy của mình thông qua internet explorer và Click cài đặt và tôi cũng cần giấy chứng nhận được cài đặt trên máy tính của mình.Cài đặt chứng chỉ pfx trong cửa hàng người dùng trong Windows bằng cách sử dụng WiX
Trả lời
Bạn cần Certificate element. Nó là một phần của phần mở rộng IIS cho wix, nhưng có thể được sử dụng cho các cài đặt không liên quan đến IIS.
Bạn cần phải
khai báo một tiền tố cho không gian tên IIS, cho ví dụ như thế này trong thư mục gốc Wix yếu tố:
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi' xmlns:iis='http://schemas.microsoft.com/wix/IIsExtension'>
Nhúng file PFX như một dòng nhị phân trong gói cài đặt của bạn. Thêm một yếu tố Binary dưới các yếu tố sản phẩm như thế này:
<Binary Id="MyCertificateBinaryStream" SourceFile="c:/path/to/mycertificate.pfx" />
Khai báo một thành phần với một yếu tố
<iis:Certificate>
, cho ví dụ như thế này. Hãy xem documentation, bạn cần điền vào một số thuộc tính khác . Lưu ý rằng bạn không cầnCertficatePath
nếu bạn sử dụng thuộc tínhBinaryKey
.<Component Id="MyCertificateComponent" Guid="MY-GUID-HERE"> <iis:Certificate Id="MyCertificate" BinaryKey="MyCertificateBinaryStream" ... some more attributes ... /> </Component>
Kích hoạt phần mở rộng IIS bằng cách thêm tùy chọn tùy chọn
-ext WixIISExtension
khi gọi các công cụ dòng lệnh wix. Nếu bạn sử dụng studio trực quan, đây chỉ là vấn đề thêm một tham chiếu trong dự án wix của bạn vàoWixIISExtension
.
Để mở rộng câu trả lời một chút, tập sau các thuộc tính làm việc cho tôi:
<iis:Certificate
Id="My.Certificate"
StoreName="root"
Overwrite="yes"
Name="My Friendly Certificate Name"
Request="no"
BinaryKey="MyCertificate.Binary"
StoreLocation="localMachine" />
Trong trường hợp yếu tố <Product>
chứa một đứa trẻ <Binary>
như sau:
<Binary
Id="MyCertificate.Binary"
SourceFile="$(var.ProjectDir)MyCertificate.pfx" />
(Tôi đã bao gồm tệp PFX trong dự án WiX của mình).
- 1. Cài đặt chứng chỉ vào cửa hàng chứng chỉ người dùng Windows Local trong C#
- 2. Cửa hàng chứng chỉ Windows
- 3. Cách cài đặt và khởi động Dịch vụ Windows bằng cách sử dụng WiX
- 4. Cài đặt chứng chỉ ứng dụng khách trong các ứng dụng Windows XAML
- 5. Nhắc người dùng đóng ứng dụng trong khi gỡ cài đặt (trong WiX)
- 6. Cửa hàng chứng chỉ 'My' ở đâu?
- 7. Cách cài đặt chứng chỉ theo chương trình bằng cách sử dụng C#
- 8. Nhận dữ liệu X509 từ chứng chỉ PFX bằng CryptoAPI
- 9. Kiểm tra xem chứng chỉ người dùng cuối có được cài đặt trong kho khóa cửa sổ không?
- 10. Kịch bản để cài đặt Chứng chỉ SSL trên Cửa hàng chứng chỉ gốc đáng tin cậy
- 11. Lấy Danh sách Tên Cửa hàng Chứng chỉ trong C#
- 12. Cài đặt Chứng chỉ Bảo mật Cảnh báo Giải pháp?
- 13. Chuyển chứng chỉ CERT/PEM sang chứng chỉ PFX
- 14. Sử dụng chứng chỉ và khóa cá nhân từ cửa hàng cert Windows với OpenSSL
- 15. Cài đặt tệp trong thư mục người dùng AppData bằng cách sử dụng thiết lập inno
- 16. Cách cài đặt .NET .NET 4.x bằng cách sử dụng WiX Burn
- 17. Cài đặt chứng chỉ CA gốc qua mã trên Win32
- 18. C# Xuất chứng chỉ ở định dạng pfx
- 19. Nhận tên người dùng Windows của người dùng hiện tại bằng cách sử dụng php?
- 20. Đặt tùy chọn 'Tất cả người dùng' trên trình cài đặt Wix không hoạt động
- 21. Dịch vụ WiXCài đặt - cài đặt dịch vụ để chạy khi người dùng cửa sổ hiện tại
- 22. WiX sẽ không thêm cài đặt đăng ký HKLM trong Windows 7 cài đặt
- 23. Cách giữ cài đặt người dùng khi gỡ cài đặt
- 24. Sử dụng Cài đặt Inno, cách nhập tệp .cer chứng chỉ?
- 25. Ký ClickOnce bằng chứng chỉ?
- 26. Nhắc mật khẩu tên người dùng trong khi cài đặt dịch vụ windows trong C#
- 27. Lưu thông tin người dùng trong cài đặt ứng dụng
- 28. Chứng chỉ - Khi nào chúng được cài đặt trong kho chứng chỉ?
- 29. Sử dụng chứng chỉ ứng dụng khách không có trong kho chứng chỉ
- 30. Cách xóa chứng chỉ Cửa hàng được thêm bởi makecert
Tôi sẽ xem xét câu trả lời này và thử.Cảm ơn bạn đã trả lời của bạn một lần nữa.Thực sự đánh giá cao lời giải thích của bạn.Một Giáng sinh vui vẻ cho bạn! – abmv