Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VFP8 + Installshield unter Vista

0 views
Skip to first unread message

Peter

unread,
Nov 7, 2009, 2:54:54 PM11/7/09
to
Hallo,
vielleicht gibt es noch jemanden, der VFP8 + Installshield unter Vista
nutzt.
Wenn ich Installshield nutze und eine Installation mit OCX habe, gibt es
unter Vista einen
"AcGenral"-Fehler. Ich habe die DLL gefunden, die Datei ist in Ordnung.
Das hat auch schon einmal funktioniert. Unter XP gibt es kein Problem, unter
Windows 7 allerdings das
selbe Problem.

Kann mir jemand einen Tip geben ?

Danke

Olaf Doschke

unread,
Nov 8, 2009, 2:50:40 AM11/8/09
to
Also VFP8 und selbst VFP9 rauskam, gab es Vista noch gar nicht.
Soweit ich herumrecherchiert habe ist die AcGenral.DLL eine
DLL, die abw�rtskompatibilit�t mit XP regelt.

Hast Du mal probiert, die Setup.EXE auf Kompatibilt�tsmodus
zu setzen?

Hast Du evtl. die Setup.EXE umbenannt? Vista erfordert bei
Installationen auf jeden Fall erh�hte Rechte. Und da unter
Vista selbt Adminaccounts nicht st�ndig mit Adminrechten
laufen sondern die Rechteerh�hung auf den "wahren" Admin-
modus nur bei Bedarf mit einem Dialog, der nach Erlaubnis
dazu fragt passiert, k�nnen diverse Dinge wie Registrierung
von COM-Servern scheitern.

Damit Vista ein Setup als solches erkennt und um erlaubnis
f�r den erh�hten Rechtemodus fragt, untersucht es die EXE
auf diverse Kennzeichen von Installern, u.a. f�hrt Vista jede
EXE, die im Namen "Install" oder "Setup" enth�lt als Setup,
d.h. eben mit erh�hten Rechten aus, ohne da� daf�r ein
Manifest in der EXE vorhanden sein mu�, was diese erh�hten
Rechte anfordert.

Was Du nat�rlich auch probieren kannst ist UAC ausschalten
und dann installieren. Aber das hat u.U. R�ckwirkungen,
da� zwar diverse Registryzugriffe klappen und Dateien an-
gelegt werden k�nnen. Aber wenn dann der Normaluser wieder
unter aktiviertem UAC arbeitet, werden Zweige der Registry
und Verzeichnisse, die eben nur einem Admin vorbehalten sind
f�r den User nicht sichtbar sein, er wird in virtualisierte
Zweige der Registry und der Verzeichnisse (insbesondere
%Programfiles%) umgeleitet werden.

Kurze Quintessenz: Prinzipiell sollten Vistas abw�rtskom-
patiblit�tsma�nahmen helfen, im Zweifelsfall erstell einen
anderen Installer z.B. mittels Inno Setup.

Tsch��, Olaf.

Vista rauskam, gab
"Peter" <emai...@aol.com> schrieb im Newsbeitrag
news:16E293DD-507D-447D...@microsoft.com...

Peter

unread,
Nov 8, 2009, 4:28:14 AM11/8/09
to
Hallo,
das hat leider alles nichts gebracht.
Als ich mit Vista anfing, hatte ich diese Probleme schon. Ich war der
Meinung, da� es eben nicht geht und habe es so hingenommen. Bis mir dann
hier jemand gesagt hat, da� der IS schon noch unter Vista laufen w�rde.
Ich habe es dann noch einmal probiert und siehe da, alles lief perfekt, auch
die OCX-Sache.
Nun vermute ich, da� es etwas mit der Version der ACGenral.DLL zu tun haben
k�nnte. Ich wollte sie umbenennen, aber ich kann an der DLL nichts
ver�ndern. Die l��t sich nicht l�schen. Auch nicht, wenn ich den Rechner
unter WindowsXP boote und dann versuche die Datei zu ver�ndern.
Es ist ein uraltes Projekt, deshalb m�chte ich nicht mehr mit einem anderen
Installer anfangen.

Danke

Olaf Doschke

unread,
Nov 8, 2009, 6:00:31 AM11/8/09
to
DLLs manuell durch neuere Versionen austauschen
ist sowas von 1995. ;)

Also, Du fummelst da an Windows rum, wenn Du
die DLL austauscht. Wenn Du das zur Angewohnheit
hast wundert mich gar nichts mehr.

Es ist keine Riesensache ein Setup aufzubauen.
Im allgemeinen hast Du Deine EXE, vielleicht noch
ein OCX oder einen selbst erstellten COM-Server.

Stellt der OCX-Hersteller nicht ein Setup f�r sein
OCX bereit? Das lie�e sich ja auch aufrufen und
einbinden.

Liegt's vielleicht insgesamt am OCX und mu� man
bei dessen Verteilung Sachen ber�cksichtigen? Was
sagt denn der Hersteller des OCX zum Thema?
Lizenzdatei? Irgendwas in der Richtung?

Tsch��, Olaf.

Michael Bickel

unread,
Nov 8, 2009, 6:05:28 AM11/8/09
to
Hallo Peter,

ich hatte das Problem auch, zwischenzeitlich ging es sogar mal, dann wieder
nicht.
Ich habe es dann aufgegeben, weil ich es einfach nicht l�sen konnte und ganz
ehrlich: dieses Installshield geh�rt m.E. ohnehin von der Platte gefegt -
immer mal wieder gab es dies oder das Problem bei Kunden, seit InnoSetup ist
das vorbei.

Und Du hast den Vorteil, dass man bei InnoSetup auch Skripting inklusive
hat, Multisprachen etc.
Einmal den inneren Schweinehund �berwinden - sich damit besch�ftigen - und
Du f�hlst Dich viel besser, mal ganz abgesehen davon, dass Du auch viel Geld
sparst. Das kostet Dich 2-3 Stunden um eine Basis-Installation zu haben,
mehr nicht.
F�r das Skripting dauert es nat�rlich ein wenig l�nger, aber auch nur, weil
man einen �berblick gewinnen mu�, die Pascalsprache selber sollte auch f�r
einen
VFPler intuitiv zu erfassen sein.

Also putz den Kram von der Platte und mach Dir das Leben leichter

Viele Gr��e
Michael

"Peter" <emai...@aol.com> schrieb im Newsbeitrag

news:DD1D6FA9-E41D-464A...@microsoft.com...

Peter

unread,
Nov 8, 2009, 6:12:30 AM11/8/09
to
Hallo,
nein, das geht bei mir schon etwas geordneter ab. Wenn ich ein neues
Programm installiere, dann hole ich ein Image der Partition zur�ck,
installiere das neue Programm (das kommt praktisch nie vor). Anschlie�end
wird dieses Image wieder gesichert. Dann werden die fehlenden Windows
Updates installiert und erst dann arbeite ich weiter.

So einfach wie Du es beschreibst geht es theoretisch. In der alten Version
hie� das Icon auf dem Desktop Pipapo, in der neuen Version Papipo. Und schon
rufen mich X-Leute an. Oder das neue Startfenster wird normal ge�ffnet, das
alte Fenster maximiert.

Die Hersteller der OCXse gibt es alle nicht mehr. Die OCXse brauchen
teilweise Einstellungen, sonst geht es nicht.

Es hat ja schon einmal auch unter Vista funktioniert, nur wei� ich nicht
warum :-)

Olaf Doschke

unread,
Nov 8, 2009, 6:56:57 AM11/8/09
to
Kann es sein, da� Du mal meinen Tipp bekommen hast,
ein cmd mit regsvr32 aufzusetzen und das dann per
Rechtsklick "als Admin" auszuf�hren? Oder hast Du's
wirklich im ISE-Setup ganz offiziell hingekriegt?

Es ibt da, soweit ich mich erinnere zwei grunds�tzliche
Modi, einmal soll ISE selbst erkennen, welche DLL
eine Registrireung ben�tigt und einmal gibt man das
manuell im Projekt vor.

Tsch��, Olaf.

Peter

unread,
Nov 9, 2009, 1:15:25 PM11/9/09
to
Hallo,
ja da war mal etwas. Da ging es um das MSCOMCTL.OCX, das ich ohne
Installprogramm registrieren lassen wollte.
Mit der CMD-Datei hat das damals nicht geklappt, wahrscheinlich habe ich da
etwas falsch gemacht.
Das habe ich so gel�st, da� der Anwender beim ersten Starten aufgefordert
wird, das Programm zu schlie�en und
einmal als Admin zu starten. Dann macht das Programm das selbst.

Peter

"Olaf Doschke" <olaf.d...@t-aufderlinie.de> schrieb im Newsbeitrag
news:OFxbUqGY...@TK2MSFTNGP02.phx.gbl...

Olaf Doschke

unread,
Nov 10, 2009, 4:56:50 AM11/10/09
to
> Das habe ich so gel�st, da� der Anwender beim ersten Starten aufgefordert
> wird, das Programm zu schlie�en und
> einmal als Admin zu starten. Dann macht das Programm das selbst.

Wenn ein ein Programm startet und nicht explizit ein Manifest mit
requireAdmin eingebaut ist, l�dt es auch bei angemeldetem Admin
nur auf der gew�hnlichen Rechtestufe.

Wirklich nur mit Rechtsklick "als Admin starten" funktioniert z.b. der
Aufruf der API-Funktion DllRegisterServer, den Du wahrscheinlich
dazu verwendest, da� sich der jeweilige COM Server/ ActiveX control
selbst registriert.

Daher ist eben angesagt, alles im Install/Setup zu registrieren und nicht
erst beim Erststart.

UAC. Nach gut 2,5 Jahren wird es mal Zeit, sich damit auszukennen.

Tsch��, Olaf.

Peter

unread,
Nov 10, 2009, 11:46:11 AM11/10/09
to
>
> Daher ist eben angesagt, alles im Install/Setup zu registrieren und nicht
> erst beim Erststart.
>

Eben, und hier schlie�t sich der Kreis :-)

Michael Bickel

unread,
Nov 10, 2009, 12:16:40 PM11/10/09
to
... mit InnoSetup kannst Du dieses Problem schnell + kostenfrei l�sen :)

Viele Gr��e
Michael

"Peter" <emai...@aol.com> schrieb im Newsbeitrag

news:eGniSViY...@TK2MSFTNGP04.phx.gbl...

Olaf Doschke

unread,
Nov 11, 2009, 7:30:55 AM11/11/09
to
Hallo Peter,

1. Was Michael sagte
2. Sorry, ich nutze ISE nicht und schmei�e es jetzt nicht an, um
herauszufinden, wie man dort explizit die Resgistrierung von COM und spziell
MSCOMCTL.OCX macht.

Um nochmal zusammenzufassen, was wir auf dem Weg zum Kreisschluss
beigetragen haben:

ISE kann beim Setup automatisch erkennen, welche DLLs/OCXe COMServer oder
ActiveX Controls enthalten aber
"irgendwie" kann man das auch manuell festlegen - den Auftrag zur
registrierung geben. Rechtsklick(?)

Erwarte nicht, da� ich dir das rauskrame. Irgendwo hatte ich es sihcerlich
schon einmal beschrieben.

Ich meine gerade was die MSCOMCTL.OCX angeht gibt es auch ein Merge Modul,
was Du ins Setup einbinden kannst.

Der Weg, auf Inno Setup umzustellen ist trotz Deiner weigerung "das ganze
nochmal von vorne zu beginnen" wahrscheinlich
das einfachste. Du findest tonnenweise Beispiele und Doku f�r Inno+VFP:
http://fox.wikis.com/wc.dll?Wiki~InnoSetup
http://fox.wikis.com/wc.dll?Wiki~InnoScripts

insbesondere unter letzterem Link findest Du ein script, was das
mscomct2.msm Merge Modul mit installiert.

Tsch��, Olaf.


0 new messages