Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   .NET 1.1 auf Zielrechner finden? (https://www.delphipraxis.net/76687-net-1-1-auf-zielrechner-finden.html)

gfjs 8. Sep 2006 06:25


.NET 1.1 auf Zielrechner finden?
 
Guten Morgen, Allerseits.

Ich habe ein kleines Programm (.NET), das ich gerne weitergeben möchte. Wie kann ich feststellen, ob das Programm auf dem Zielrechner laufen kann?

Ich gehe mal davon aus, dass es unter allen Windows-Versionen laufen kann, die in der .NET Frameword SDK-Dokumentation unter Anforderungen/Plattformen angegeben sind. Außerdem muss wohl .NET 1.1 installiert sein.

Wie kann ich nun feststellen, ob .NET 1.1 installiert ist? Nach welcher Datei muss ich suchen? Kann ich eventuell die erforderliche/n Datei/en mit ausliefern?

Wie immer bin ich dankbar für jeden Tipp.

Gruß Jürgen.

Jürgen Thomas 8. Sep 2006 06:57

Re: .NET 1.1 auf Zielrechner finden?
 
Guten Morgen Jürgen,

Du bist wieder einmal weiter als ich.
Zitat:

Zitat von gfjs
Kann ich eventuell die erforderliche/n Datei/en mit ausliefern?

für ein 'kleines' Programm rate ich davon ab, die Installationsdateien für NET mitzuliefern - es ist doch sehr umfangreich. Liefere lieber den Link zur MS-Homepage mit.
Zitat:

Zitat von gfjs
Wie kann ich nun feststellen, ob .NET 1.1 installiert ist? Nach welcher Datei muss ich suchen?

Im Detail habe ich das noch nicht untersucht. Aber es gibt folgende Anhaltspunkte:

1. Suche nach einem Verzeichnis C:\Windows\Microsoft.NET\Framework\v1.1.4322; das ist der GAC und enthält die vorausgesetzten DLLs. In erster Linie dürfte System.dll relevant sein. Aber Achtung: im Falle eines DAU könnte das Verzeichnis existieren, aber keine wichtigen Dateien.

Warnung: Im Win-Explorer werden die NET-Verzeichnisse u.U. nicht 'normal' angezeigt. Ich benutze vorrangig TotalCommander (den Nachfahren eines Clones des Norton-Commanders).

2. Suche in der Registry unter HKLM\Software\Classes\Installer\Assemblies\Global nach entsprechenden Einträgen.

Viel Erfolg bei der Suche! Jürgen

[/edit]Suche in Punkt 1 genauer erläutert

gfjs 8. Sep 2006 07:11

Re: .NET 1.1 auf Zielrechner finden?
 
Guten Morgen, Jürgen.

Vorerst gebe ich das Programm erst einmal ein paar Leuten zum Testen, von denen ich weiß, .NET 1.1 installiert haben. Aber ich werde mal versuchen, das mit der Installation auf die Reihe zu bekommen.

Vielleicht ginge ja auch Folgendes:

Delphi-Quellcode:
try
  .NET-Anwendung starten
finally
  MessageBox(.NET 1.1-Framework erforderlich)
  Link anzeigen
end;
Win32-Anwendung löschen
War nur so eine Idee - habe noch keine Ahnung, ob so was funktioniert.

Gruß Jürgen.

MagicAndre1981 8. Sep 2006 07:11

Re: .NET 1.1 auf Zielrechner finden?
 
Liste der Anhänge anzeigen (Anzahl: 1)
hier ist ein C++-Beispiel dafür:

Frag mich aber nicht, wo ich es her habe, das weiß ich nicht mehr :oops:

gfjs 8. Sep 2006 07:25

Re: .NET 1.1 auf Zielrechner finden?
 
@ MagicAndre1981

Tut mir leid, aber ich hab' nicht die geringste Ahnung von C++. DownLoad bringt mir wohl nichts, da ich kein C-irgendwas installiert habe und somit vermutlich auch nicht den Quelltext einsehen kann.

Aber trotzdem vielen Dank für Deine Mühe.

Gruß Jürgen.

Jürgen Thomas 8. Sep 2006 08:04

Re: .NET 1.1 auf Zielrechner finden?
 
Hallo Jürgen,
Zitat:

Zitat von gfjs
Tut mir leid, aber ich hab' nicht die geringste Ahnung von C++. DownLoad bringt mir wohl nichts, da ich kein C-irgendwas installiert habe und somit vermutlich auch nicht den Quelltext einsehen kann.

Das Ansehen ist natürlich kein Problem: Du kannst auch jede PAS-Datei und die meisten DFM-Dateien mit einem x-beliebigen Editor ansehen - ebenso eine C-Datei als C-Quelltext. Aber Du hast insofern recht: Diesen C-Quelltext in C# oder Delphi.NET umzuschreiben ist wahrscheinlich zu aufwändig.
Zitat:

Zitat von gfjs
Vielleicht ginge ja auch Folgendes:
Delphi-Quellcode:
try
  .NET-Anwendung starten
finally
  MessageBox(.NET 1.1-Framework erforderlich)
  Link anzeigen
end;
Win32-Anwendung löschen
War nur so eine Idee - habe noch keine Ahnung, ob so was funktioniert.

Das wäre eine der möglichen Varianten, auf die Du in einer anderen Diskussion bereits hingewiesen wurdest. Dieser Code müsste aber in einer Win32-Anwendung stehen; andernfalls würde sie ebenfalls NET aufrufen und ohne NET knallen.

(Diese Win32-Appl kann wegen der Größe auch eine Konsolenanwendung sein; dann musst Du aber MessageBox über eine Win-API-Funktion aktivieren. In der DP findest Du dazu sicher reichlich Tipps.)

(Nachtrag:) Aber eine solche Anwendung wäre nur eine Notlösung: Sie kann nur prüfen, ob die NET-Anwendung gestartet werden kann, aber nicht mitteilen, warum es ggf. nicht klappte (Dein Meldetext wäre ja nur eine Vermutung). Dafür wäre statt des try-Blocks doch ein if-exist oder eine RegKey-Suche konsequenter.

Gruß Jürgen

gfjs 8. Sep 2006 08:23

Re: .NET 1.1 auf Zielrechner finden?
 
Hallo, Jürgen.

Ich bin schon von einer Win32-Anwendung ausgegangen. (Siehe: try-finally-end. Win32-Anwendung löschen). Aber wie gesagt: das hat noch ein wenig Zeit.

Gruß Jürgen.

Phoenix 8. Sep 2006 09:39

Re: .NET 1.1 auf Zielrechner finden?
 
Baue doch einen kleinen Installer um Deine Anwendung.

Das hat den Vorteil, dass der Installer per Script nachgucken kann, ob das .NET Framework vorhanden ist (für die meisten Installer (auf jeden Fall schonmal für Nullsoft Install System & Inno Setup) gibt es bereits Scripte die das prüfen und das Framework bei Bedarf nachinstallieren bzw. es vorher sogar nach Rückfrage beim User direkt runterladen und dann installieren.

gfjs 8. Sep 2006 13:12

Re: .NET 1.1 auf Zielrechner finden?
 
Hallo, Phoenix.

Vielen Dank für den Tipp. Ich habe soetwas noch nie gemacht, werde mich aber demnächst dran versuchen. Sollte ich nicht weiter kommen, nehme ich gerne wieder Deine/Eure Hilfe in Anspruch.

Schönes Wochenende und Grüße aus München.

Jürgen


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz