2013-05-17 13 views
8

Có nhiều câu hỏi và câu trả lời chưa đầy đủ về cách tải xuống và cài đặt .NET Framework nếu chúng không có sẵn nhưng không có mã hoàn chỉnh dường như có sẵn trên Internet.Hoàn thành mẫu WiX * .wxs để tải xuống và cài đặt phiên bản .NET Framework cụ thể nếu không có sẵn

Bạn có thể cung cấp mã compilable tối thiểu hoặc liên kết đến ví dụ rõ ràng tạo ra setup.exe/MSI không? Tôi không nghĩ rằng RTFM áp dụng cho câu hỏi này vì MSI và trình cài đặt bootstrap có rất nhiều idiosyncrasies không dễ dàng khấu trừ.

+3

Ghi đè không có nhận xét không thực sự hữu ích. –

+0

Thiết lập Phát triển là phát triển. Đó là hình thức xấu để yêu cầu một người nào đó làm công việc của bạn cho bạn. Nếu bạn muốn nó trở nên dễ dàng, hãy sử dụng InstallShield. Bạn chỉ cần nhấp vào hộp kiểm cho biết .NET X và sau đó chọn Tải xuống từ Web. Nếu nó hoạt động, tuyệt vời. Nếu không, sự phức tạp tương tự vẫn tồn tại dưới vỏ bọc. –

+4

Tôi chỉ đồng ý với bạn khi có ai đó là người bảo hiểm. Mặc dù triển khai thiết lập là phát triển, về mặt chia sẻ cộng đồng ở dưới cùng. Giải pháp của bạn không phải là những gì tôi yêu cầu. Tôi đang tìm kiếm điều này trong bối cảnh của WiX. Đó là tầm thường để làm điều đó trong một dự án Visual Studio.Và nếu tôi không nhận được bất kỳ câu trả lời nào, tôi sẽ dành thời gian để tự giải quyết và chia sẻ nó với mọi người. –

Trả lời

8

Lưu ý, thông tin này có sẵn đầy đủ trong hướng dẫn sử dụng. Nó có thể được tìm thấy trong các địa điểm sau đây với các ví dụ:

How To: Install the .NET Framework Using Burn

How To: Check for .NET Framework versions

WixNetfxExtension

đó đang được nói

Sử dụng WiX, bạn không thể tạo ra một MSI để cài đặt. Net [X]. Tuy nhiên, bạn có thể sử dụng nó để tạo ra một trình cài đặt có khả năng khởi động được bootstrapped.

May mắn thay, bao gồm trình cài đặt .NET rất đơn giản trong dự án Gói WiX. Đơn giản chỉ cần bao gồm một tham chiếu đến WixNetFxExtension.dll (phải ở trong "[Wix Cài đặt vị trí] \ bin") trong dự án bó của bạn, và sau đó bao gồm những điều sau đây trong <Chain> của bạn:

<PackageGroupRef id="[.Net package]" /> 

nơi [.Net package] là:

  • NetFx40Web
  • NetFx40Redist
  • NetFx40ClientWeb
  • 012.
  • NetFx40ClientRedist
  • NetFx45Web
  • NetFx45Redist

Ví dụ, một gói bao gồm Net cài đặt 4.5 Web:

<Bundle Name="E.G." Version="1.0.0.0" Manufacturer="Me" UpgradeCode="[Guid]"> 
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"/> 
    <Chain> 
     <PackageGroupRef Id="NetFx45Web" /> 
     <MsiPackage SourceFile="$(var.ExampleInstaller.TargetPath)" /> 
    </Chain> 
</Bundle> 

Và nếu bạn đang sử dụng các gói Redist, bạn có thể chạy trình biên dịch được biên dịch với -layout để tải xuống các tệp để chúng có thể được ghi vào CD/DVD (sử dụng ứng dụng Khởi động chuẩn, các ứng dụng bootstrapper tùy chỉnh có thể hoặc có thể không có chức năng tương tự).

+0

Giải pháp này có hoạt động để bật .NET Framework 3.5 trên Windows 8 thay vì tải xuống từ web không? Tên của gói cho OR đó là có hỗ trợ WiX nào cho trường hợp này? Cảm ơn. –

+1

Từ những gì tôi đã có thể tìm thấy, không. Nếu .Net 3.5 đã được cài đặt và chưa được kích hoạt, tôi không nghĩ có cách nào đơn giản để kích hoạt nó từ WiX. Bạn có thể tìm thấy các thiết lập đăng ký mà nó tương ứng và gây rối với chúng, nhưng điều đó có thể nhận được ... tốt ... lộn xộn. Đối với _installing_ .Net 3.5, xem [câu hỏi này] (http://stackoverflow.com/questions/12628922/using-wix3-6-to-install-net-framework-3-5-sp1-with-burn) – XGundam05

+0

Có thể bạn chỉ cho tôi theo hướng làm thế nào để sử dụng đối số '-layout'? Tôi đã tìm kiếm điều này dựa trên chỉ dẫn của bạn nhưng không thể tìm thấy bất kỳ tài liệu hoặc ví dụ nào về nó. –

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