Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
FoxPro apps looking for runtime installer
Message
From
22/11/2007 08:17:39
 
 
To
21/11/2007 11:43:31
General information
Forum:
Visual FoxPro
Category:
Installation, Setup and Configuration
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Vista
Miscellaneous
Thread ID:
01270510
Message ID:
01270665
Views:
23
This message has been marked as the solution to the initial question of the thread.
Hi Greg.

>Few days ago every times I try and run a application (exe) built in VFP 8sp1, it prompts me for the location "VFP Run Time Files.msi". Does anyone why it is looking for this installer file, and where can locate a copy?

This usually happens when your app uses an ActiveX control, such as a TreeView, and you install another app, such as Office, that also uses the same control. The other app installs a slightly different version of the ActiveX control, so Windows Installer thinks the files is corrupted when you run the VFP app, and it tries to be nice and tries to fix the file by reinstalling. Of course, this is a total PITA.

As Neil pointed out, this problem doesn't occur if you use Inno Setup instead of a Windows Installer-based tools such as InstallShield. In the mean time, the workaround is to find the Registry entry for the ActiveX control and fix its InprocServer32 entry. This is easier said than done, because you don't necessarily know which control to fix; you need to find entries for all the controls your app uses. Here's how you do this:

- Launch RegEdit.

- Find "treeview" or whatever control you're looking for. The entry you want is in HKEY_CLASSES_ROOT\CLSID and it'll be a GUID. For example, for the TreeView control version 6, the entry is HKEY_CLASSES_ROOT\CLSID\{C74190B6-8589-11D1-B16A-00C0F0283628}.

- Look in InprocServer32 for the InprocServer32 key. It's supposed to contain the name and path for the OCX, but notice it contains gibberish; that's a Windows Installer key that's causing the problem.

- Edit the value and replace it with the name and path for the OCX; for the TreeView control, it should be C:\Windows\System32\MSComCtl32.OCX (the (default) value contains this, so you can copy it from there and paste it into InprocServer32).

- Repeat for each of the controls your app uses.

Doug
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform