Frage an MVPs: "mscomctl.ocx" oder welche Dateien sind mitzuinstallieren?

21/02/2010 - 10:27 von Peter Ostermann | Report spam
Hallo MVPs,

angeblich erstellt man mit VB6 standalone-exe. Der "Weitergabe-Assistent"
nennt aber mitzuliefernde Dateien.

Da das so ist, sei die Frage gestattet: Woran kann ich erkennen welche z.B.
"form's" das Vorhandensein der mscomctl.ocx in der System32 erfordern?

Allgemein: Wann kann ich davon ausgehen, dass alle *.ocx oder *.dll Dateien
die meine kompilierte Exe benötigt bereits auf dem Fremdsystem vorhanden
sind und nicht bei der Installation separat bereitgestllt werden müssen.

Konkret: Wie kann ich diese Dateien ggf. ausfindig machen um sie (o.
Weitergabe-Assistenten, z.B. mit Nullsoft-Installer) mitzuliefern (weil
z.B. *nicht* im Verlauf des Compile in die Exe reingelinkt) bzw. wie/wo
finde ich die Referenzierung von nicht mitzuliefernden Komponenten und diese
sinnvollerweise zu löschen?

Danke für Hinweise.

Schöne Grüße
Peter
 

Lesen sie die antworten

#1 Helmut Meukel
21/02/2010 - 11:30 | Warnen spam
Hmm,

ich bin zwar kein MVP, doch ich denke ich kann das trotzdem beantworten.

"Peter Ostermann" schrieb im Newsbeitrag
news:hlqub0$umi$00$
Hallo MVPs,

angeblich erstellt man mit VB6 standalone-exe. Der "Weitergabe-Assistent"
nennt aber mitzuliefernde Dateien.



Wer hat dir das erzàhlt? Du brauchst zumindest die Runtime Libraries.
Ok, Micro$oft hat sie bei den neueren Betriebssystem-Versionen mit dazu
gepackt, so dass du sie nicht mehr mitzuliefern brauchst, trotzdem àndert das
nichts an der Tatsache dass VB6 (oder auch seine Vorgànger) keine
standalone Exes produziert.

Da das so ist, sei die Frage gestattet: Woran kann ich erkennen welche z.B.
"form's" das Vorhandensein der mscomctl.ocx in der System32 erfordern?



Na wenn du das MsComm-Control auf eine deiner Formen gepackt hast,
dann will VB es auch mit dabei haben!

Nebenbei, du solltest darauf achten dass die Checkbox 'remove information
about unused ActiveX controls' einen Haken hat. (Menü: Project -> Properties
-> Make)


Allgemein: Wann kann ich davon ausgehen, dass alle *.ocx oder *.dll Dateien
die meine kompilierte Exe benötigt bereits auf dem Fremdsystem vorhanden sind
und nicht bei der Installation separat bereitgestllt werden müssen.




Nur wenn auf dem Fremdsystem mindestens die gleiche Version von VB6
installiert ist und du keine DLLs oder OCXe von Fremdanbietern verwendest.
Dann sind alle evtl. benötigten Dateien bereits installiert.


Konkret: Wie kann ich diese Dateien ggf. ausfindig machen um sie (o.
Weitergabe-Assistenten, z.B. mit Nullsoft-Installer) mitzuliefern (weil z.B.
*nicht* im Verlauf des Compile in die Exe reingelinkt) bzw. wie/wo finde ich
die Referenzierung von nicht mitzuliefernden Komponenten und diese
sinnvollerweise zu löschen?



den zweiten Teil der Frage habe ich bereits oben teilweise (für OCXe)
beantwortet, für die DLLs: Menü Project -> References...
VB6 setzt automatisch einen Haken bei OLE Automation, auch wenn du das
nicht verwendest.

Was den ersten Teil der Frage betrifft: jeder gute Installer ist in der Lage
das selbst rauszufinden, sie mit ins Paket zu packen, aber sie auf dem
Zielsystem nur zu installieren wenn sie dort noch nicht oder nur in einer
àlteren Version sind.

Danke für Hinweise.

Schöne Grüße
Peter





mfg.

Helmut

Ähnliche fragen