2013-05-17 8 views
8

Istnieje wiele niekompletnych pytań i odpowiedzi dotyczących pobierania i instalowania .NET Framework (s), jeśli nie są one dostępne, ale żadne kompletny kod wydaje się być dostępny w Internecie.Kompletna próbka WiX * .wxs do pobrania i zainstalowania konkretnej wersji architektury .NET Framework, jeśli nie jest dostępna

Czy możesz podać minimalny kod do kompilacji lub link do przejrzystego przykładu, który generuje plik setup.exe/MSI? Nie sądzę, że RTFM stosuje się do tego pytania, ponieważ instalatory MSI i bootstrap mają wiele dziwactw, których nie można łatwo odliczyć.

+3

Downvotes bez komentarzy nie są naprawdę pomocne. –

+0

Przygotowanie instalacji to rozwój. To jest zła forma, aby poprosić kogoś o wykonanie pracy za ciebie. Jeśli chcesz, aby było to łatwe, skorzystaj z InstallShield. Wystarczy kliknąć pole wyboru, które mówi .NET X, a następnie wybierz Pobierz z Internetu. Jeśli to działa, świetnie. Jeśli nie, ta sama złożoność nadal istnieje pod okładkami. –

+4

Zgadzam się z Tobą tylko wtedy, gdy ktoś jest czającym się lurker. Chociaż wdrażanie instalacji to rozwój, pod względem dzielenia społeczności jest na dole. Twoje rozwiązanie nie jest tym, o co prosiłem. Szukam tego w kontekście WiX. Zwykle robi się to w projekcie Visual Studio.A jeśli nie otrzymam żadnej odpowiedzi, poświęcę czas na rozwiązanie go i podzielę się nim ze wszystkimi. –

Odpowiedz

8

Uwaga, ta informacja to dostępna w całości w instrukcji obsługi. Można go znaleźć w następujących miejscach z przykładów:

How To: Install the .NET Framework Using Burn

How To: Check for .NET Framework versions

WixNetfxExtension

Mając na uwadze powyższe

Korzystanie WiX, nie można wygenerować MSI zainstalować. Net [X]. Możesz jednak użyć go do wygenerowania pliku wykonywalnego bootstrapu instalatora.

Na szczęście, w tym instalator .Net jest banalnie prosty w projekcie pakietu WiX. Po prostu zawierać odniesienie do WixNetFxExtension.dll (powinny być w "[Wix lokalizację instalacji] \ bin") w projekcie wiązki, a następnie zaliczyć w <Chain>:

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

gdzie [.Net package] jest:

  • NetFx40Web
  • NetFx40Redist
  • NetFx40ClientWeb
  • NetFx40ClientRedist
  • NetFx45Web
  • NetFx45Redist

Na przykład, pakiet, który zawiera .NET 4.5 Web instalatora:

<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> 

A jeśli używasz pakiety REDIST można uruchomić skompilowany instalator z -layout, aby pobrać pliki, aby można było je nagrać na płytę CD/DVD (przy użyciu standardowej aplikacji Bootsrapper, niestandardowe aplikacje do uruchamiania mogą lub mogą nie ma podobnej funkcjonalności).

+0

Czy to rozwiązanie działa w celu włączenia programu .NET Framework 3.5 w systemie Windows 8 zamiast pobierania go z Internetu? Jaka jest nazwa pakietu dla tego OR, czy jest jakaś obsługa WiX dla tej sprawy? Dzięki. –

+1

Z tego, co udało mi się znaleźć, nie. Jeśli .Net 3.5 jest już zainstalowany i nie jest włączony, nie sądzę, żeby istniał jakikolwiek prosty sposób na włączenie go z WiX. Można znaleźć ustawienia rejestru, które odpowiada i z nimi zadzierać, ale to może się ... cóż ... nieładnie. Dla _installing_ .Net 3.5, zobacz [to pytanie] (http://stackoverflow.com/questions/12628922/using-wix3-6-to-install-net-framework-3-5-sp1-with-burn) – XGundam05

+0

Can wskazujesz mi, w jaki sposób użyć argumentu '-layout'? Szukałem tego na podstawie twojego wskazania, ale nie mogę znaleźć żadnej dokumentacji ani przykładów. –

Powiązane problemy