Donnerstag, 17. Juni 2021

How to install VFP9 in a modern world

(This is the translation of my german blogpost from http://woody-prolib.blogspot.com/2010/01/vfp9-komplett-installieren.html)

Update June 2021: New links added, because currently Microsoft broke every download link

Since there have been a lot of requests about this in the forums lately, here is a list of all necessary steps to set up a VFP9 from 2004 on a virgin Windows of today. Switching to Windows 10 is usually the typical reason...

First, of course, Windows itself should be completely up2date, i.e. run the Windows update functionality until nothing more is reported. Of course the setting should be set to "For Windows and other MS products" so that Office etc are also updated. In Win7 please have a look at the optional updates. I always hide all further language updates (mark all and then right mouse click), as well as the bad MS LIVE stuff....

Here's the shortcut for those in a hurry: VFP can be moved from the old to the new computer in no time at all by simply copying the entire development folder from the old computer and then starting VFP with the addition "/REGSERVER" once with admin rights (!). The easiest way to do this is to click on "RUN (as Administrator)" in the "Right-Mouse-On-Windows-Start" menu ; then switch to the VFP directory and type in VFP9.EXE /REGSERVER and start it (If a message appears "Access to system registration denied", then it was without admin rights, and you can do it again).   This option rewrites all file associations so that a double click on e.g. a DBF starts the VFP and displays the table in a browse.

By the way, there is another tool to clean up or reset VFP settings:  DO HOME() + "VFPCLEAN.APP" checks the VFP internal mappings in the options dialog (paths to Genmenu, ReportEngines etc) and corrects them.

Depending on already installed other programs it can be that such a copied VFP then already starts without complaint, mostly however then the MSXML2 libraries or the (at that time current, but in the meantime age-old) OCXe for Treeview, Listview etc. are missing, which are no longer standard in the current Windows, but which VFP uses for the display of the TaskPane or IntellisenseManagers etc..  We'll get to them in a moment, but let's go one step after the other....

So: The easiest way to make any computer VFP compatible, is to use my runtime installer: At https://github.com/VFPX/VFPRuntimeInstallers you can find the appropriate installers for all common VFP versions. For VFP9 this would be the VFP9SP2RT.EXE and then the XML2 stack as well as ODBC and OLEDB are now available.

By the way: I do this "copying over" several times a year, because I often set up a new disk, be it to test new Windows versions or to get a totally dirty computer up and running again. I have installed all FoxPro versions (starting from FoxBase+ over FoxPro1, 2, 2.6 for DOS and all Windows versions) parallel and executable in a folder D:\Develop\. In the main directory there's a batch, which executes this /Regserver in the correct order (older versions first), so that always the latest version is registered as the last one. (Attention: the /RegServer does not do this until VFP6, in VFP5 it was still "-R"). VFP3 doesn't run without tricks on today's computers anymore, because we all have too much RAM (VFP3 can handle max 512MB RAM by default, SP1 had extended it to 738MB; for that time an impossible value!) A  possible Way out in Win7: Run in virtual XP mode, because this VirtualPC is configured to 256MB by default.

But back to the topic... Beside this "simply copying over" for Lazy Joe ;) of course a clean new installation should also be possible. Starting with Windows 7 we are confronted with two problems, which are not VFP specific, but sloppiness of the used installer. So you start normally with inserting the CD or an ISO image. Attention: do not execute the SETUP.exe directly, but the VFPSTART.HTA.

After entering the key (which, by the way, is the same all over the world), you come to the path selection. To install in "c:\Program Files\" folder should be awarded with the "Bozo of the year" for various reasons (development systems are not pure "only executable" end user programs), so you should install them outside of this especially monitored and restrictive folder branch. (In my case I install to \Develop\). 
But that MS installer is somewhat stupid: You can't visually select a new directory when installing, the installer dialog remains empty. Remedy: First create the corresponding target directory with the Explorer, and then simply type in the path in the installer.

But the installer doesn't install all the essentials for VFP9. After the setup has installed everything in just about 3 minutes (a relief compared to the several hours of a Visual Studio installation!), you return to the start screen, which then displays the option for the service packs.
In essence, this page forwards you to: http://msdn.microsoft.com/de-de/vfoxpro/bb190232(en-us).aspx . Unfortunately, as of June 2021, all those download-links currently go nowhere. Normally you would install the Servicepack2 and the "GDI+ for SP2" from this list, but we have a "Plan B", thus read on. Oh, and the option "XSource for VFP" (xSource.zip contains the source code of all wizards and wizards) we get via VFPX in a newer version, as well as VFPCOM and the help file. The ODBC driver is not loadable anymore, but the ODBC (and the OLEDB) is still installed by the runtime installer mentioned above.

According to Microsoft's unimportant opinion everything is done now... Bad mistake! Unfortunately the reference to the absolutely necessary Hotfixes, which correct some errors found after publication of SP2, is missing here.
If you look at Microsoft's Knowledgebase for "FoxPro", you will find three Knowledgebase entries, each of which has a hotfix for download piggybacked (hidden behind the "Downloads" tab). Microsoft writes that you should install all hotfixes one by one... But don't despair: Only the newest one has to be installed, it also contains all other, older hotfixes. So at the time of this article, the latest hotfix is the revision number 9.000.7423. Unfortunately, this is no longer hosted in the download portal, but can now also be found at https://github.com/VFPX/VFP9SP2Hotfix3. This Hotfix will also serve as Plan B for ServicePack2 level, since it also contains the latest and greatest VFP9.exe. The GDI+ update isn't necessary anymore, since all current Windows versions have way newer GDI dlls on board. In fact you could scan your PC for GDI*.DLL, enable the version column in SearchResults, and compare the foundset to the version in the SYSWOW64 directory. (You would mostly find those GDI.DLLs in some Thirdparty directories, which brought their version with them. Like ahem.... VFP did) If you're a brave one, you could then delete (or rename) all x86 GDI DLLs with a lower version number than theat SYSWOW64 version, since that one is always the fallback if no local one is found.
But back to the ServicePack2 - Hotfix3: Download it and run it; you will be asked for a directory again. Do not select the VFP installation directory, but specify a temporary directory (e.g. \Develop\VFP9Hotfix\). Then read the Readme.txt and copy the files according to the instructions (in principle the MSM into the installer directory, the rest into the VFP directory). Some daring people install the hotfix directly into the VFP9 directory, then everything is overwritten automatically. ;)

No matter how, but at the end VFP9 should have at least the version number 9.00.0000.7423 or higher.

Then there are still the other options on that VFP9 setup start screen: I strongly advise against installing the Installshield Express. On the one hand that company is no more (it was bought by Symantec, and so it's a no-go for me (nothing yellow on my computer!)), and on the other hand there's InnoSetup, an excellent OpenSource product. For more information see http://fox.wikis.com/wc.dll?Wiki~InnoSetup

The Soap3 samples and the SQL Server 2000 Desktop Engine are not needed either. It is better to install the SQL Server 2019 Express version if you want to experiment with SQL Server. (See lower right corner of https://www.microsoft.com/en-us/sql-server/sql-server-downloads)


OK, finished with installing, finally we will start! VFP9 is stored as a simple icon in the Windows start menu, from there you can place it directly into the taskbar in Windows by right-clicking and "Attach to taskbar". And off you go...

Duuuh.... The first start of VFP9 then brings the "Task Pane Manager" window with the dull error message "0: Class definition MSXML2.DOMDOCUMENT.4.0 is not found". Excellent!  For unknown reasons the VFP9 setup doesn't install everything you need. Now you can argue about the usefulness of the Taskpane, but fortunately VFP does more with XML than just that. You can get the missing XML parser version into the system in three ways:
a) the official download at MS: https://www.microsoft.com/de-de/download/details.aspx?id=19662 Again: as of June 2021 the download links into NowhereLand, but I managed to find a direct download at msxml4-KB2758694-enu.exe)
b) by installing our VFP9 runtime installer mentioned above. Since you will need it later on for customer installations, I tend to recommend this download in any case.
c) By installing the SOAP3 setup from the VFP9 CD, which is no longer automatically executed by the main setup under Vista and Win7. This includes the SOAP3 client as well as the XML installer... You can find it under CD:\SoapToolkit\soapsdk.msi.
But since both the Soap Toolkit and the XML4 are now available in more recent versions, I recommend downloading the current versions individually (option a). Oh yes: The soapy thing can be found here: https://www.microsoft.com/en-us/download/details.aspx?id=15489 (As of June 2021 Microsoft seems to have broken every update download. But I found another source for it: https://microsoft-soap-toolkit.software.informer.com/download/). You should also install it, so that the Taskpane can display the latest news from http://www.foxcentral.net/ as well.


Next start the Intellisense-Manager or the tasklist  in the Tools menu. If they start without errors, then the usual standard OCX controls (Treeview, Listbox etc.) are still available. If it bombs out, then quickly download the OCXe here:
https://www.microsoft.com/de-de/download/details.aspx?id=10019

Ok, but now? Nope. I still have one ;)
Off to www.VFPX.org, the open source community for VFP. Here you can find everything you need for your daily use:
Absolutely necessary: The working help file (because the one from SP2 is broken, there are over a thousand links not there etc.) Direct download: https://github.com/VFPX/HelpFile
If you work with SourceControl (e.g. that horrendous Visual Sourcesafe or Sourcegears excellent VAULT), you should replace the supplied scctext.prg with scctextx (https://github.com/VFPX/AlternateSCCText) .

Otherwise "Highly recommended" but not essential: the new PEM-Editor and the improved Reporting Apps. And of course Thor...  And the various updated parts of XSource (https://github.com/VFPX/XSource )

But now nothing gets in the way of a successful start. Have fun and enjoy the ease of VFP!

Translated with www.DeepL.com/Translator

Sonntag, 22. Oktober 2017

Gedanken zum E-Auto

Es ist schon erstaunlich, mit welcher Verbissenheit manche Artikel-Leser sich in den Kommentaren gegen alles stellen, was irgendwie "EAuto" heißt oder damit zu tun hat. 
Mal ganz abgesehen davon, dass sich die Meinung der deutschen "wir wollen unseren Verbrenner behalten"-Autokundschaft nur marginal auf die Geschäftsinteressen der Auto-Industrie auswirken,  denn der weltweite Markt zwingt zum EAuto  (siehe China, Frankreich, Norwegen, usw). Die interessanten Mengen werden nicht in Deutschland verkauft, sondern weltweit, und damit diktiert die Welt wo's lang geht.  Da kann sich der deutsche Verpenner-Michel noch so verdutzt die Äuglein reiben: Wenn er nicht bald wach wird, ist auch diese Technologie-Dominanz ganz schnell weg vom Fenster.

Wer sich auch nur ein bißchen mit Technik auseinander setzt, muss zugeben, daß ein Elektro-Antrieb per se eindeutig einfacher, fehlerfreier und wartungsärmer ist als alle anderen Alternativen. Beim Tesla z.B. zählt man ganze 20 bewegliche Teile im Antrieb, beim klassischen Benziner sind es über 2000.  Fehlender Lärm, Drehmoment, Wirkungsgrad etc sind weitere  Pluspunkte. 

Der Gasantrieb ist da keinen Deut besser: es bleibt ein Explosionsmotor mit all seinen negativen Eigenschaften (Abgase, Lärm, komplizierte und wartungsintensive Technik, gefährlicher Treibstoff usw).  Und auch das Gas kann weiterhin nur an ein paar tausend speziellen Tankstellen nachgefüllt werden, und damit sind die ÖlMultis und der Staat weiterhin in der Lage, den Autofahrer zentral zu schröpfen und abzuzocken.

Somit könnte man sich doch zumindest soweit darauf verständigen, daß
a) der Verbrenner abgelöst werden muß; allein schon durch Umweltschutz (Abgase, Giftstoffe, Feinstaub, Lärm) und durch sich seit Langem abzeichnende Resourcen-Knappheit (wie lange reicht unser Erdöl noch? Und Fracking ist auch nicht die wirklich tolle Lösung)
b) anstelle des Verbrenners ein E-Motor die beste Lösung ist  (allein schon durch die Einfachkeit und den enormen Wirkungsgrad von ca 95% zu 25% beim Verbrenner)

Bleibt nur die Frage: wie kommt der Strom ins Auto.  Allein das ist scheinbar der allseligmachende Streitpunkt. Aber egal ob Akku, NanoFlowCell oder Brennstoffzelle (Wasserstoffantrieb): Allen gemeinsam ist der EMotor; in keiner der zukünftigen Technologie-Scenarien wird am irrsinnig miserablen Verbrenner festgehalten, außer an deutschen Stammtischen.

Wasserstoff (bzw Brennstoffzelle) hat den kleinen, aber doch bedeutsamen Nachteil: Es ist extrem aufwändig zu produzieren und zu transportieren, im Vergleich zu den Alternativen. Wollen wir tatsächlich auf Millionen von mind. 700bar  Hochdrucktanks mit explosivem Wasserstoff herumfahren?   Und man kann ihn auch nicht einfach dezentral selbst erzeugen, er muss in (bislang sehr teuren) Elektrolyse- und Verdichter-Stationen produziert werden, die damit auch nicht besser sind als die klassischen Tankstellen. Vorteil ist immerhin die bessere Vorhaltbarkeit, um zb Solar- und Windenergie zu puffern.

NanoFlowCell als Energieträger: Da scheiden sich die Geister, von absolutem "Fake" Geschrei bis hin zu Begeisterungsausbrüchen ist alles zu finden, aber ne serienreife, massen-taugliche Technologie ist's bislang noch nicht.

Bleiben also nur die Akkus als Stromspeicher, die wir sofort und ohne großen Kopfzerbrechen einsetzen können. Ja, die Energiedichte pro Kg ist noch um ein vielfaches kleiner als beim Verbrenner. Aber wen kümmert das?  Das Mehrgewicht ist eben nicht relevant, da der EMotor die Energiemenge, die zum Beschleunigen des Mehrgewichts aufgewendet wurde, auch wieder beim Verlangsamen durch Rekuperation zurückgewinnen kann. Das ist der große Unterschied zum Verbrenner, wo jedes kg Mehrgewicht automatisch zu Mehrverbrauch führt!  Natürlich ist auch die Rekuperation nicht mit einem Wirkungsgrad von 100% gesegnet, aber zumindest wird die Bremsenergie nicht nutzlos auf's Durchglühen von Bremsscheiben verwendet.

Dann die Sache mit dem Laden und der Reichweite. Ich kenne Audi- und BMW Fahrer, die alle 300km an die Tanke müssen, weil ihre Kisten dermassen saufen...  Aber hey: wer 250kmh fahren will, der muss halt auch der Physik Tribut zollen und der exponential steigende Luftwiderstand erfordert halt heftigen Mehrverbrauch. Aber wird deswegen der Verbrenner verteufelt? Ne. Notfalls baut man halt nen größeren Tank ein..   Genau das selbe beim EAuto. Wenn dir die Reichweite nicht genug ist: Nimm eins mit größerer Akkukapazität!   Aber nur weil ein Renault Zoe mit einem kleineren Akku ausgerüstet ist, heisst noch lange nicht, dass alle anderen EAutos ebenso geringe Reichweiten haben.  Wobei der Deutsche auch hier wieder unlogisch agiert: 95% aller Deutschen fahren nicht mehr als 30km am Tag.  Wie oft muss man da also ein 400km Auto laden?   Einmal die Woche. Jepp. Is wie tanken, nur dass ich nicht zu einer der wenigen tausend Tankstellen fahren muss und dort vom ÖlMulti erpresst werde.   Nein, ich kann an irgendeiner der milliardenfach vorhandenen Strom-Steckdosen aufladen. Und so nen Strom kann ich auch im hintersten Bergdorf noch selber machen, notfalls mit ner Turbine am Gebirgsbach, oder mit ner 10qm Solarfläche am Hausdach.  Nix mehr Erpressbarkeit und Abzocke an der Tanke!   Und Solarpanels funktionieren auch bei bundesweitem Stromausfall, wohingegen die Pumpe an der Tanke nix mehr tut.  Merkste was?  Es braucht nicht unbedingt teure "Ladestationen" vor jeder Haustür, es tut auch der normale Strom. Der tut zwar langsam laden, aber ein Auto steht eh die meiste Zeit nur rum.    Wenn du wirklich mal mehr als die bei 95% üblichen 30km am Tag fährst, nur dann brauchst du die Schnell-Lader, damit das Auto noch schneller fertig geladen bist, als du vom Pinkeln zurück bist. Aktuell sind wir bei ca 100km Reichweite in 10min, d.h. einmal Pinkeln und Kaffeepause sind ausreichend, um dich wieder 300km weiter zu bringen.  Der Audifahrer von vorhin kam auch nicht weiter...  Und der Dieselfahrer, der sich mit "800km mit einer Tankladung durchbrettern" brüstet: Ehrlich? 8 Stunden ohne Anhalten, ohne Pinkeln und Kaffee? Mit dir würd ich nicht mitfahren wollen, bzw dir auf der Strecke begegnen.

Aber dann kommt das Killerargument: "Ja, aber ich will einmal im Jahr mit meinem Wohnwagen oder Bootsanhänger nach Spanien! " - "Willst du das? Und warum?" - "Weil ichs kann!"    Dagegen kann man nicht an. Also: Bislang ziehst du den Wohnwagen auch nicht mit nem Fiat 127, sondern eben mit einem entsprechend motorisiertem Wagen, der auch gewichtsmässig nicht von der Anhängelast ausgehebelt wird. Nu, dann nimmste halt auch ein entsprechend dimensioniertes EAuto.  Das Tesla Model X ist zb perfekt zum Wohnwagen rumkarren. (Merke: ja, es gibt auch EAutos mit Anhängerkupplung. 2,4 Tonnen darf zb der Tesla X drauf haben).  Ökologisch und sinnvoll ist's sicherlich nicht, für "einmal im Jahr nach Spanien" sich den Wagen den Rest des Jahres langweilen zu lassen. Aber ok, es ist jeder seines Glückes Schmied.  Du kannst dir auch nen Airbus in den Garten stellen, nur weil du einmal im Jahr in die DomRep fliegst.

Und noch das Preis-Argument: Ja, die wirklich tollen EAutos kosten tatsächlich genausoviel wie die wirklich tollen Verbrenner.  Klar wär ein Tesla Model S oder X toll vor der Haustür; genauso wie ich früher nen 7er BMW bewundert hätte.  Beide kann ich mir nicht leisten.  Aber es gibt sie, also scheint es auch tatsächlich Käufer dafür zu geben. Dabei sind die EAutos, trotz teurem Anschaffungspreis, langfristig billiger als die bisherigen Verbrenner. Angefangen von den günstigeren "Treibstoffkosten" (ca 10 bis 20 kWh pro 100km, macht beim deutschen Strompreis 2,50 bis 6 Eur auf 100km und auch hier eigentlich nur der Strom-Mehrverbrauch ins Gewicht fällt, denn Sachen wie Zählergrundgebühr und Abrechnung hat man ja für seinen Haushalt ja sowieso. Weitere Einsparung kann hier möglicherweise noch durch billigeren Nachtstrom erreicht werden.
Dann entfallen fast alle bisher gewohnten Wartungsarbeiten wie Ölwechsel, Zündkerzen, Kupplung Getriebe, Keilriemen... Alles nicht mehr da. Luftfilter bei der Klimaanlage kann man selber tauschen. Bremsscheiben werden nur bei rabiater Fahrweise beansprucht, im Normalbetrieb bremst man elektrisch durch den Generatorbetrieb (Rekuperation). Auch das spart mehrere Hunderter oder Tausender im Jahr. Steuer und Versicherung sind im Normalfall ebenfalls günstiger.


Was also ist der wirkliche Grund der "EAuto-Hasser"? Technologische Ursachen können es nicht sein, ökologische auch nicht. Also ist's nur die Furcht vor Neuem? Die insgeheime Angst, dass wir unsere "technologische Vorherrschaft beim Verbrenner" dann noch früher verlieren? 

Wir stehen gerade am Anfang eines Technologie-Umbruchs, der sich über die nächsten zehn bis fünfzehn Jahre hinziehen wird. Kein Mensch zwingt dich, jetzt sofort ein EAuto zu kaufen.  Wenn du momentan keine Ladesteckdose vor der Haustür hast und auch sonst nix im Umkreis findest, wo du einmal in der Woche hinkommst (schwer vorstellbar, aber nur mal angenommen): ja dann ist's momentan nix für dich, aber irgendwann in den nächsten zehn Jahren wird sich das auch bei dir ändern, und dann kannst auch du ohne Probleme wechseln. Und zehn Jahre sind auch ne lange Zeit, um die Akkuforschung weiterzubringen. Da wird sich noch Einiges tun... 

Also: Etwas mehr Mut zu Neuem, anstatt sich pessimistisch an "Altbewährtem" festzuklammern.

Sonntag, 15. August 2010

Is nix mit inkrementellen Updates beim IPAD

 

Gerade vermeldet mein ITunes, daß es ne neue Betriebssystem-Version 3.2.2 für mein IPAD gäbe. Als Bugfix wird angegeben, dass ein Sicherheitsproblem im PDF-Viewer beseitigt wurde. Download-Größe: Schlappe 456 MB.  Na Mahlzeit. Man ist schon etwas verwöhnt, wenn man aus der freien Windows-Welt in diese Apple-Monokultur (Diktatur?) vordringt. Scheinbar muss Apple bei jedem noch so kleinen Bugfix immer die gesamte OS-Software neu laden. Klar: Ein kleiner Teil der Menschheit hat inzwischen Highspeed-Internet und lutscht das in ein paar Minuten runter. Bei mir aber tröpfeln nur 3Mbit aus der Leitung, und der Download zieht sich über 43 Minuten hin. Irgendwie tut sowas weh, aber vermutlich bin ich einfach schon zu alt, ich hab die Akustikkoppler-, Modem- und ISDN-Zeit noch miterlebt, und da hat man noch gelernt, sich Gedanken über Download-Zeiten (bzw über die Vermeidung derselben) zu machen.

Freitag, 13. August 2010

Aufgehübscht…

 

In einem Anfall geistiger Umnachtung hab ich mir meinen Kinnbart abgesäbelt…. Und nun meint jeder, ich sähe nun viiiiel jünger aus? Tja, und da sage mal einer, die Mädels legen nur Wert auf die "Inneren Werte". Pah!  (und wo bekomm ich nun nur ein neues Profilfoto her?)

Aber da kann dann natürlich auch mein "Alter Ego" (dieses Blog) nicht nachstehen und bekam nun ebenfalls ne optische Verjüngungskur.  Hoffe, es ist nicht allzu krass ausgefallen :)

VFP Runtimes haben ein neues Zuhause


August 2010:  Nach dem Niedergang der ProLib-Firmengruppe gibt’s auch den FTP-Server nicht mehr. Dadurch waren auch die in der VFP-Community geschätzten Runtime-Installer nicht mehr verfügbar
Zuerst dachte ich, man könnte diese bei einem der üblichen File-Hostern unterbringen, um damit den Traffic-Gebühren ein Schnippchen zu schlagen.  Also kurzerhand mal da hochgeladen:
http://rapidshare.com/files/411542659/VFP9SP2RT.exe
http://rapidshare.com/files/411543655/VFP8SP1RT.exe
http://rapidshare.com/files/411543676/VFP7SP1RT.exe
http://rapidshare.com/files/411542725/VFP6SP5RT.exe
Ok, das bringt mir zwar Download-Punkte, aber so ganz befriedigend ist das wohl nicht für den Downloader selbst. 

Mai 2013: RapidShare geht den Bach runter....

Da hatte ich den Geistesblitz: Mein eigener MSDN-Webspace mit meinen FoxPro Codeschnipseln ist ja genauso gut geeignet für solche Downloads. Daher (TaaTaa… Trommelwirbel) ist nun die neue Anlaufstelle: http://Code.Msdn.Microsoft.com/FoxPro
Und, nach nur einem Tag nach der Ankündigung in diversen Foren, sind schon über 100 Downloads zu verzeichnen.   Irgendwie erstaunlich… Angeblich ist ja FoxPro sowas von tot.
Wer da wohl noch all die Runtimes braucht?  Aber wie heisst’s so schön:
Totgesagte leben länger !

Update vom Dezember 2014:
Microsoft hat still, leise und heimlich den obigen Link totgelegt, und alle dort gespeicherten Dateien ohne Vorankündigung entsorgt.

Die Runtime-Installer sind nun umgezogen nach:


Update vom November 2017:
Nun wurde auch CodePlex abgekündigt. Die gesamten VFPX Projekte sind nun auf GitHub zu finden.  Ein leicht zu merkendes http://www.VFPX.org verweist nun immer auf diese Sammelstelle.

Der Direktlink zum neuesten Installer:
https://github.com/VFPX/VFPRuntimeInstallers

Wollen mal hoffen, dass dies der letzte Umzug ist :)



Sonntag, 10. Januar 2010

VFP9 komplett installieren

New! English translation at http://woody-prolib.blogspot.com/2018/12/how-to.html!


(Edit am 05.06.2011: Download-Links aktualisiert)
(Edit am 12.06.2015: nochmals Download-Links aktualisiert)
(Edit am 10.06.2016: Link für ActiveXControls zugefügt)
(Edit am 17.11.2017: Links für VFPX von Codeplex nach Github geändert)
(Edit am 16.06.2021: Alle Downloadlinks von MS landen im Nirwana; Alternativen im englischen Artikel eingebaut)

Nachdem sich in letzter Zeit die Anfragen darüber in den Foren doch häufen, hier mal ne Liste aller notwendigen Schritte, um ein VFP9 von anno 2004 auf einem jungfräulichen Windows einzurichten. Der Umstieg auf Windows 10 ist dazu meist der übliche Anlass...  

Als Erstes sollte natürlich Windows selbst komplett up2date sein, d.h. Die Windows Update-Funktionalität so oft durchlaufen lassen, bis nix mehr gemeldet wird. Natürlich sollte da die Einstellung auf "Für Windows und andere Produkte von MS" gewählt sein, damit auch Office & Co geupdated sind. Dabei dann auch bitte die optionalen Updates anschaun. Ich blende hier immer die ganzen weiteren Sprach-Updates aus (alle markieren und dann RechteMaus druff), als auch den üblen Live Kram....

Danach gibt's den Shortcut für die ganz Eiligen: VFP kann ruckzuck vom alten auf den neuen Rechner gebracht werden, indem man einfach den gesamten Entwicklungs-Ordner vom Altrechner rüberkopiert, und dann VFP mit dem Zusatz "/REGSERVER" einmalig mit Adminrechten (!) anstartet. Das geht am Einfachsten über den Punkt "EingabeAufforderung (Administrator)  im "Rechte-Maus-Auf -Windows Start" Menü ; dann ins VFP Verzwichnis wechseln und  VFP9.EXE /REGSERVER  eintippen und starten (Wenn eine Meldung kommt "Zugriff auf Systemregistrierung verweigert", dann war's ohne Adminrechte, und man darf nochmal).   Diese Option schreibt alle Dateiverknüpfungen neu, sodaß ein Doppelclick auf zb eine DBF das VFP anstartet und die Tabelle im Browse anzeigt. 


Nebenbei sei noch auf ein weiteres Tool zum Aufräumen bzw Zurücksetzen von VFP-Einstellungen hingewiesen:  DO HOME() + "VFPCLEAN.APP" überprüft die VFP-internen Mappings im Optionsdialog (Pfade zu Genmenu, ReportEngines usw) und korrigiert diese.

Je nach schon installierten anderen Programmen kann es sein, dass so ein rüberkopiertes VFP dann schon klaglos anläuft, meist aber fehlen dann zB die MSXML2 Bibliotheken oder die (damals aktuellen, aber inzwischen uralten) OCXe für Treeview, Listview etc, die im aktuellen Windows nicht mehr standardmäßig vorhanden sind, die aber VFP zb zum Anzeigen der TaskPane oder IntellisenseManagers etc verwendet.  Zu denen kommen wir dann gleich noch, aber der Reihe nach....

Also: Der einfachste Weg, einen beliebigen Rechner VFP-tauglich zu machen, ist einfach meinen Runtime-Installer einmal drüber zu bügeln: Unter https://github.com/VFPX/VFPRuntimeInstallers 
findet man für alle gängigen VFP Versionen die entsprechenden Installer. Für VFP9 wär das also die VFP9SP2RT.EXE und damit ist dann auch der XML2 Stack als auch ODBC und OLEDB vorhanden.

Nebenbei bemerkt: Dieses Rüberkopieren führe ich regelmässig mehrfach im Jahr aus, da ich sehr oft mal ne neue Platte einrichte, sei es um neue Windows-Versionen zu testen, oder um nen total versauten Rechner wieder auf Vordermann zu bringen. Ich habe bei mir alle FoxPro-Versionen (angefangen von FoxBase+ über FoxPro1, 2, 2.6 für DOS und alle Windows Versionen) parallel und lauffähig installiert in einem Ordner D:\Develop\ abgelegt. Im Hauptverzeichnis gibt's nen Batch, der dann dieses /Regserver in der richtigen Reihenfolge (Ältere Versionen zuerst) ausführt, sodass immer die aktuellste Vesion als Letzte registriert wird. (Aufpassen: das /RegServer tut erst ab VFP6, bei VFP5 war es noch "-R"). VFP3 läuft ohne Tricks nicht mehr auf heutigen Rechnern, da wir alle zuviel RAM haben (VFP3 kann standardmässig mit max 512MB RAM umgehen, der SP1 hatte das dann auf 738MB erweitert; für die damalige Zeit ein unereichbarer Wert!) Ausweg in Win7: Im Virtuellen-XPMode ausführen, denn dieser VirtualPC ist standardmässig auf 256MB konfiguriert.

Aber zurück zum Thema... Neben diesem "Einfach Rüberkopieren" für faule Säcke ;) sollte natürlich auch eine saubere Neuinstallation möglich sein. Ab Windows 7  sind wir da mit zwei Problemen konfrontiert, die eigentlich nicht VFP spezifisch sind, sondern Schlampereien des verwendeten Installers sind. Man startet also ganz normal mit Einlegen der CD oder eines ISO-Abbildes. Achtung: nicht direkt die SETUP.exe ausführen, sondern die VFPSTART.HTA.

Nach Eingabe des Keys (der übrigens inzwischen weltweit gleich ist) kommt man dann zur Pfad-Auswahl. Eine Installation im "c:\Program Files\" Ordner ist aus diversen Gründen der Abteilung Schwachfug zuzuordnen (Entwicklungssysteme sind keine reinen "nur ausführbare" Endanwender-Programme) daher sollte man sie außerhalb dieses besonders überwachten und mit restriktiven Rechten versehenen Ordnerzweiges installieren (bei mir eben \Develop\). Dumm nur:

Man kann beim Installieren kein neues Verzeichnis visuell mehr auswählen, der Installer-Dialog bleibt leer. Abhilfe: Vorher das entsprechende Zielverzeichnis mit dem Explorer anlegen, und dann den Pfad im Installer einfach eintippen.

Aber der Installer installiert eben nicht alles Lebensnotwendige für VFP9. Nachdem das Setup in gerade mal ca 3 min alles installiert hat (Eine Wohltat gegenüber den mehreren Stunden einer Visual Studio Installation!), kommt man zurück zum Startbildschirm, der dann noch die Option für die Servicepacks anzeigt. Im Prinzip wird hier auf diese Seite verzweigt: 
http://msdn.microsoft.com/de-de/vfoxpro/bb190232(en-us).aspx
von der man dann schon mal den
 Servicepack2  und das "GDI+ for SP2" als Allererstes installieren sollte. Die Option "XSource for VFP"  (In dem xSource.zip ist der Sourcecode aller Assistenten und Wizzards drin) bekommen wir über VFPX in einer neueren Version, genauso wie VFPCOM und die Hilfedatei. Der ODBC-Treiber ist zwischenzeitlich garnicht mehr ladbar, aber den ODBC (und den OLEDB) installiert immer noch der schon oben erwähnte Runtime-Installer.

Damit ist dann zumindest laut Microsofts unmaßgeblicher Meinung alles getan... Irrtum! Leider fehlt hier der Verweis auf die unbedingt notwendigen Hotfixes, die einige nach Veröffentlichung von SP2 aufgefundene Fehler korrigieren. 

Wenn man mal bei Microsoft's Knowledgebase nach "FoxPro" sucht, dann tauchen unter anderem auch drei Knowledgebase-Einträge auf, die alle jeweils einen Hotfix als Download huckepack haben (versteckt sich hinter dem "Downloads"-Reiter) Microsoft schreibt zwar, dass man alle Hotfixes der Reihe nach einzeln installieren solle... Aber nicht verzweifeln: Es muss nur der Neueste installiert werden, er beinhaltet auch alle anderen, älteren Hotfixes. Also zum Zeitpunkt dieses Artikels ist der neueste Hotfix die Revisionsnummer 9.000.7423. Dieser wird dummerweise nicht mehr im Download-Portal gehostet, sondern inzwischen ebenfalls auf https://github.com/VFPX/VFP9SP2Hotfix3 zu finden.

Den runterladen und ausführen; es wird wieder nach einem Verzeichnis gefragt. Hier mal ausnahmsweise nicht das VFP Installationsverzeichnis wählen, sondern ein temporäres Verzeichnis angeben (zB \Develop\VFP9Hotfix\). Da dann das Readme.txt lesen und die Dateien entsprechend der Anleitung umkopieren (im Prinzip das MSM ins Installer-Verzeichnis, den Rest ins VFP-Verzeichnis). Ganz Verwegene installieren den Hotfix direkt ins VFP9 Verzeichnis, dann ist alles gleich überschrieben. ;)

Egal wie, aber am Ende sollte VFP9 dann mindestens die VersionsNr 9.00.0000.7423 haben.

Bleiben noch die anderen Optionen des VFP9 Setup-Startbildschirms: Von der Installation des Installshield-Express rate ich ganz vehement ab. Zum Einen gibts die Firma garnicht mehr (wurde von Symantec aufgekauft, und ist damit ein No-Go für mich (Nix Gelbes auf meinem Rechner!)), und zum Anderen gibt's mit InnoSetup ein ganz hervorragendes OpenSource Produkt. Näheres dazu unter
http://fox.wikis.com/wc.dll?Wiki~InnoSetup

Die Soap3 Samples braucht man, wie auch die SQL-Server 2000 Desktop Engine ebenfalls nicht. Besser ist es, die SQL-Server 2014 oder 2017 Express-Version zu installieren, wenn man mit SQL-Server rumexperimentieren möchte. (https://go.microsoft.com/fwlink/?linkid=853017
)


So, fertig mit Installieren, endlich anstarten! VFP9 ist als einfaches Icon im Windows-Startmenü hinterlegt, von dort kann man es in Windows per RechtsMausKlick und "An Taskleiste heften" direkt in die Taskbar legen. Und los gehts...

Duuuh.... Der erste Start von VFP9 bringt dann gleich noch das "Task Pane Manager" Fenster mit der öden Fehlermeldung "0: Class definition MSXML2.DOMDOCUMENT.4.0 is not found" . Süüüpi! Aus unerfindlichen Gründen installiert das VFP9 Setup eben nicht alles Benötigte mit. Nun kann man sich zwar über Sinn und Unsinn der Taskpane streiten, aber dummerweise macht VFP mit XML doch noch mehr als dies. Den fehlenden XML-Parser bekommt man auf drei Wegen ins System:

a) der offizielle Download bei MS: https://www.microsoft.com/de-de/download/details.aspx?id=19662
b) durch Installieren unseres schon oben erwähnten VFP9-Runtime-Installers. Da man den eh später des öfteren für Kunden-Installationen brauchen wird, tendiere ich dazu, diesen Download auf jeden Fall zu empfehlen.
c) Durch Installation des SOAP3 Setups von der VFP9 CD, welches aus unerfindlichen Gründen unter Vista und Win7 nicht mehr automatisch vom Haupt-Setup ausgeführt wird. Dieses beinhaltet nämlich neben dem SOAP3 Client eben auch den XML Installer... Zu finden unter CD:\SoapToolkit\soapsdk.msi.
Da aber sowohl das Soap-Toolkit als auch das XML4 zwischenzeitlich in aktuelleren Versionen vorliegen, empfehle ich den Einzeldownload der aktuellen Versionen (also Option a). Achja: Das Seifen-Dingens findet man hier: https://www.microsoft.com/en-us/download/details.aspx?id=15489 . Sollte man auch installieren, damit die Taskpane auch die neuesten News von http://www.foxcentral.net/ anzeigen kann.

So, was fehlt noch? Nun ja: alles in Englisch, wär schön wenn die Programmierumgebung in Deutsch wäre.. Die dazu notwendige Datei VFP9DEU.DLL (ohne ein "R" nach der "9"!) kann von der Usergroup für einen minimalen Obulus bezogen werden: http://shop.dfpug.de/ProductDetails.aspx?productID=857
Diese Ausgabe rentiert sich auf jeden Fall, denn sobald man das erste mal mit dem Menügenerator ein Systemmenü erstellen möchte, flucht man ungemein, da der Generator eben ein englishces Menü erstellt, mit englischen Beschriftungen, englischen Zusatztexten und englischen Hotkeys. (Tip für die paar Schotten, die nicht mal dafür noch Geld übrighaben: Man kann sich das Grundmenü auch in einer älteren noch deutschen Version erstellen, und dann in VFP9 weiterbearbeiten)


So, dann mal unter Tools bzw Extras den Intellisense-Manager oder die Taskliste aufrufen. Wenn die ohne Fehler anstarten, dann sind auch die üblichen Standard OCX-Controls (Treeview, Listbox etc) noch vorhanden. Wenn's hier scheppert, dann die OCXe schnell mal hier runterladen:
https://www.microsoft.com/de-de/download/details.aspx?id=10019

So, aber jetzt? Neeeee. Einen hab ich noch ;)
Ab nach www.VFPX.org, der OpenSource-Community zu VFP. Hier sammelt sich alles, was man noch so zum täglichen Gebrauch benötigt:
Unbedingt notwendig: Die funktionierende Hilfedatei (denn die vom SP2 is kapott, da sind über tausend Links nicht da etc) Direkt-Download: https://github.com/VFPX/HelpFile 

Wer mit SourceControl arbeitet (also zb  das grausame Visual Sourcesafe oder Sourcegear's hervorragendes VAULT) , sollte das mitgelieferte scctext.prg austauschen gegen scctextx (https://github.com/VFPX/AlternateSCCText) .

Ansonsten noch "Highly recommended" aber nicht unbedingt lebensnotwendig: der neue PEM-Editor und die verbesserten Reporting Apps. Und natürlich Thor...  Und die diversen aktualisierten Teile vom XSource (https://github.com/VFPX/XSource )

So, nun aber steht einem erfolgreichem Start nix im Wege. In einem weiteren Blogpost werd ich dann mal meine VFP-Konfiguration besprechen....

Montag, 14. Juli 2008

Blitzschlag

So nun hat's uns erwischt....  Am Freitag abend gab es ein heftiges Gewitter, mit Blitz und Donner direkt beisammen. Muss ziemlich über uns gewesen sein. Wir waren gerade im Aufbruch zu einer Geburtstagsfeier (wie bei Wondzinski's üblich: schon etwas spät dran), und gerade als wir zum Auto rannten (es goss aus Kübeln) tat es zweimal den Blitz und Donner.  Wir zuckten alle heftig zusammen und lachten.. "Na das war aber laut ;) "  und ab ins Auto und weg.

Nach unserer Rückkehr spät nachts musste ich dann feststellen, dass das Telefon tot war, kein fröhlich blinkendes Lichtlein mehr an der FritzBox. Oha!  Computer eingeschaltet: Nix rührt sich... Leichtes Unwohlsein macht sich breit.  Der Blick in den Sicherungskasten macht erste Hoffnungen zunichte: Strom ist da. Der Monitor leuchtet ja auch noch. Nur der PC bootet nicht mehr. Kein Licht, kein Ton, kein Goanüx.  Dumpfe Erinnerung an den Blitz... Und dessen Auswirkungen auf Elektronik im Allgemeinen, und notwendige oder teure Elektronik im Besonderen..   Aber:  Sowohl die Heizungssteuerung, als auch die Super-Luxus MediaCenter-Kiste und der TV zeigen keine Anzeichen von Schäden. Ein paar Digitaluhren blinken netterweise mit "00:00", aber das wars.

Dann läutet's auch schon an der Tür, die Nachbarin frägt zögernd: "Geht euer Telefon auch nicht"? und so langsam stellt sich raus, dass unser ganzer Strassenzug wohl fernmeldetechnisch abgeschnitten ist.  Über die nächste halbe Stunde siht man die Nachbarn mit Telefonapparaten unterm Arm von Haus zu Haus eilen, Kriegsrat halten und zu testen.

Weitere Untersuchungen ergeben: Alle Analogtelefone in der Strasse sind tot. ISDN hat seltsamerweise überlebt: Mein NTBA-Licht leuchtet grün. Aber die Fritzbox blinkt nur wirr vor sich hin, bootet nicht mehr, nicht mal der Netzwerk-Switch inne drin tut.  Also: Notbetrieb sicherstellen! Gut, dass im Büro noch ein gerade nicht beötigtes ISDN-Telefon rumliegt. Dazu noch ein ATX-Netzteil aus nem alten Rechner ausgeschlachtet und damit wieder nach Haus gefahren.   ISDN Telefon direkt am NTBA angesteckt, auf Notspeisung umgestellt und siehe da: wir sind wieder online! Zumindest telefonisch.

Nächster Schritt: Wiederbelebung des PCs: ATX-Netzteil ausgewechselt, bringt aber nix. Kein Licht, kein Lüfter zuckt, keine LED am Motherboard signalisiert den Strom...  Aua. Das wird teurer.  Zwischenzeitlich hat Helga die Versicherungsunterlagen rausgekramt: und tatsächlich... Blitzschaden ist in der Hausrat abgedeckt. Puh.

Mit 1&1 (unserem Internet-Provider) übers NotTelefon telefoniert: Nen kostenlosen Ersatz gibts nicht, und der Versand einer neuen Box wird ne Woche dauern... Also gehn wa eine im freien Handel kaufen. Auf zum Mediamarkt. Es ist inzwischen 11:00 Uhr, und siehe da: Im Mediamarkt Traunreut findet sich die halbe Ortschaft wieder..  FritzBox? "Ausverkauft!" -  "Vielleicht in der Filiale Traunstein?" -  "Ne, da sind sie auch aus..." - "Wann kommen wieder welche rein?" Ratloses Schulterzucken der Verkäuferin.   "...Aber nehmen sie doch da diese Teledat Boxen von der Telekom!"  und deutet auf ne Palette weisser Kisten. Zögerlich nehm ich ne Schachtel in die Hand und studiere die Beschreibung  "Tun die auch mit 1&1?"  - "Öhm, ich glaub die gehn nur mit Telekom!" Klebt auch ein Sticker drauf mit " 3Monate gratis" oder so ...  Ne, dann lieber nicht.  Also keine Fritzbox.  Ich schlender noch ein bischen durch die Regale, und finde ganz unverhofft ein einsames Exemplar einer  "HORSTBox", die Antwort von D-Link auf die FritzBox.   hardwaretechnisch identisch zu meiner verstorbenen FritzBox: WLan, 4Port-Switch, ISDN und Analog-Anschlüsse: Na also... Zeig der Verkäuferin die Box: Oh ja! Klar, das können sie nehmen! Gut festhalten!" Der Hinweis ist berechtigt: Mindestens 10 Leuts suchen verzweifelt nach FritzBoxen und schaun mich gierig an ;)

Als nächstes mal interessehalber bei den PCs vorbeigeschaut. Nachdem ich bislang meinen Privat-PC immer selbst zusammengeschraubt habe, und je nach Bedarf irgendein Einzelteil wieder ausgetauscht wurde, war der bisherige Rechner ein Konglomerat aus verschiedensten Technik-Generationen (wozu was wegschmeissen, wenn das teil doch noch geht...)  Im Kopf die Alternativen durchgerechnet: Also: Motherboard is hinüber. Mit nem neuen Motherboard brauchst vermutlich auch nen neuen Prozessor, samt Kühlkörper/Lüfter-Monstrum. Und vermutlich neue SpeicherChips. Gaphikkarte? Ob die's überlebt hat? TV-Karte (hängt an der SAT-Schüssel): die hat vermutlich die Überspannung reingebracht.. Also vermutlich auch hinüber?  Was bleibt? Festplatte und Floppy...   Dazu der ganze Aufwand, das Alles auseinanderzuschrauben, durchzuwechseln und einzeln zu testen. Neeee.

Also mal die Fertigkisten angeschaut. Acer, HP, Siemens. Von 499 bis über 2000 Eur. 2000 Eur für nen PC? Ja ham die noch Alle??  Nach etwas Vergleichen einen Acer Aspire M3640 gefunden, der eigentlich alles hat was wir bislang auch hatten (nur schneller und grösser): 2,4 Ghz QuadCore, 3Gb RAM, eine 500Gb Platte (die an einem SATA-Raid Controller hängt) ein  DVD-RW mit DL Unterstützung, ner ATI Radeon Videocard mit DVI Anschluss (sogar Full-HDMI  tauglich), bergeweise USB- und FireWire Anschlüsse, und nen Kartenleser. Also reichlich für nen normalen Home-Office Arbeitsplatz, der ab und an auch zum Spielen verwendet wird. Das ganze für 599 Eur.   Und schon eingepackt und mitgenommen ;)

Mehr zu den Erlebnissen mit dem neuen Rechner im nächsten Beitrag...

Sonntag, 18. Mai 2008

Reanimation

Nachdem ich dieses Blog vor ca vier Jahren mal eingerichtet hatte, und es dann in den Tiefen des Internets verschwand (bzw ich keinen Sinn an einem Geistigen Striptease sah), habe ich es nun revitalisiert... Ab und an hatte ich in der Vergangenheit doch Momente, in denen ein Blog tatsächlich sinnvoll erscheint. zB. für Newsgroup-Beiträge mit etwas mehr technischem Hintergrund, die auch für spätere Leser noch interessant sind etc.

Freitag, 31. Dezember 2004

First Post

whoa... I just wanted to reply to one of Hank Fay's blog entries, and presto... I had to sign up just to reply. So now I have my own blog as it seems. Never wanted one... But now I have one.

Let's see with what wisdoms I have to come up now.

wOOdy