2009-05-12 15 views
0

Wir haben eine .NET-Anwendung, die über USB-Laufwerk verteilt wird. Endbenutzer verbinden das Laufwerk und doppelklicken auf die EXE (eine .NET-Exe), um sie ohne Installation zu starten.Installation von .NET Framework von USB-Laufwerk bei Bedarf

Nun ist das Problem, wenn .NET nicht installiert ist, möchten wir das .NET-Installationsprogramm auslösen, anstatt die Standard-Download-Nachricht anzuzeigen, die MS dort platziert hat. Das Installationsprogramm wird mit der Anwendung über USB verteilt.

Eine Möglichkeit, dies zu tun, könnte durch Ersetzen der PE-Stub-Datei in der ausführbaren .NET-Datei sein. Aber ich sehe nicht und/STUB wechseln in C# Compiler (obwohl C Compiler es hatte).

Gibt es sonst noch irgendjemanden?

Update: Dank Tim Robinson, verstehe ich, dass Windows die PE-Stub-Datei nicht verarbeitet. Daher scheint die ClickOnce-Lösung die einzig mögliche Lösung zu sein. Ich werde ClickOnce überprüfen.

+2

Wie wäre es mit einer kleinen Win32 PE-Programmdatei, die nach der .NET-Laufzeit sucht und sie startet, bevor das eigentliche Programm gestartet wird? –

+1

Der PE-Stub ist nur da, falls jemand Ihr Programm startet, ohne Windows zu installieren. Was Windows betrifft, ist das einzige, was an Ihrem Programm besonders ist, dass es eine DLL fehlt. –

Antwort

3

Warum nicht ClickOnce verwenden, und alles wird für Sie erledigt.

Verwandte Themen