Question about MSFlexGrid
Hello, I'm working on a piece of software in VB5 that is going to be used in a LAN and it must work without installation. This software makes use of MSFlexGrid (the version shipped with VB5).
I know I can distribute MSFlexGrid with my executable without creating any setup package, since it will be registered automatically by just running the exe. All I have to do is place it in the same folder as the executable.
My question is the following: I program in VB5 and, consequently, the version of the MSFlexGrid I use is the one shipped with it. What happens if a newer version of the OCX (let's say the one shipped with VB6) has already been installed in the SYSTEM32 folder on the final user's machine? Will there be any compatibility problems if I place my version of MSFlexGrid in the app path?
Re: Question about MSFlexGrid
I moved your thread to here.
Why not create an installation package which will handle that for you?
Re: Question about MSFlexGrid
What is the name of the OCX?
I think you ought to try it out first on your own machine, install the version 6 OCX and try it out.
Re: Question about MSFlexGrid
esposito,
Please read Installation Problems in my signature.
Re: Question about MSFlexGrid
I can't create an installation package because I was asked to develop a standalone application to be used in a LAN. My app must reside on the server and on each workstation there will only be a link to it.
Since the VB5 basic runtimes are already present in the operating system (as of Windows 98), I don't need a setup package to make my app work.
The problem may arise if I make use of OCX's or any third-party DLLs which may need to be registered in the Windows Registry in order to work.
Nevertheless, I found that the registration of an OCX (such as MSFlexGrid) can be performed automatically by your software (without any setup package) if you just place the library in the app folder instead of the System32 directory.
Before releasing my software in the LAN of my school, I would like to be sure that there will be no conflict generated by MSFlexGrid if a newer version of that OCX is already present on a workstation.This will prevent me from cutting a very poor figure. (Other software of mine has always run like clockwork so far.)
Re: Question about MSFlexGrid
If I did it, I'm afraid I could make a mess with the version of MsFlexGrid used by VB5. I may overwrite the OCX file used by VB5 for which I possess a regular distribution licence.
Quote:
Originally Posted by mendhak
What is the name of the OCX?
I think you ought to try it out first on your own machine, install the version 6 OCX and try it out.
Re: Question about MSFlexGrid
esposito,
I am afraid you don't understand how VB and Installation packages work. You basically cannot create a standalone app in VB. Something will need to be installed on the clients computers.
Re: Question about MSFlexGrid
What you say is absolutely false. As I said, the VB5 basic runtimes are already present in the OS. If you don't use external libraries, your exacutable is standalone.
I have already created tens of programs for my school and they work just fine without any installation packages.
Quote:
Originally Posted by randem
esposito,
I am afraid you don't understand how VB and Installation packages work. You basically cannot create a standalone app in VB. Something will need to be installed on the clients computers.
Re: Question about MSFlexGrid
It is not standalone if it requires some other Non-OS dll/exe/ocx to run. Standalone means that you can take the exe to a newly installed OS and it will run by itself with nothing having to be done.
The fact that it NEEDS the runtime files, means it it not standalone. Nevermind that you also need the MshFlexGrid.ocx. The fact that you are lucky up till now does not change that fact.
Re: Question about MSFlexGrid
Quote:
Originally Posted by randem
It is not standalone if it requires some other Non-OS dll/exe/ocx to run. Standalone means that you can take the exe to a newly installed OS and it will run by itself with nothing having to be done.
The fact that it NEEDS the runtime files, means it it not standalone. Nevermind that you also need the MshFlexGrid.ocx. The fact that you are lucky up till now does not change that fact.
Since the VB5 runtime files are shipped with the OS, they are part of the OS. There is nothing you have to do in order to make your executable run.
MsFlexGrid.ocx, on the contrary, is not shipped with Windows 98 or later version. That's why I posted up this message.
Re: Question about MSFlexGrid
In that case see post #4, #7 and #9... Since it would need to be registered...
Re: Question about MSFlexGrid
Quote:
Originally Posted by randem
In that case see post #4, #7 and #9... Since it would need to be registered...
I know it needs to be registered, but - as I said in one of my previous posts - the registration is performed automatically if you place the OCX in the application folder instead of the System32 folder.
The doubt I have is about a possible conflict between two versions of the same library on the same machine.
Re: Question about MSFlexGrid
The file will be registered by it's name. If you have a different version in another folder you will disable it by registering the one in your apps folder.
Re: Question about MSFlexGrid
Quote:
Originally Posted by randem
The file will be registered by it's name. If you have a different version in another folder you will disable it by registering the one in your apps folder.
Thanks for the information. This means I will have to use the most recent version not to disable a newer version with an older one.
Re: Question about MSFlexGrid
Yes, Did you read Installation Problems in my signature? It does cover that issue.
Re: Question about MSFlexGrid
Quote:
Originally Posted by randem
Yes, Did you read Installation Problems in my signature? It does cover that issue.
I have read it now and found it very interesting. The following is an extract that may be useful to other users too.
Quote:
You created an installation on Windows XP and deployed it to Windows 98. A file named MSVCRT.DLL is included in the setup program. This file is installed on Win 98 replacing the one included with Win 98. This will be allowed since the Win XP file is newer than the one on Win 98. Now this file cannot be used by Win 98 causing the system to act unpredictable and may even crash. Now you have just taken out your clients computer. What have you got to say for yourself now?... It wasn't me???
Generally you should not deploy any files that were installed with the operating system... Let Microsoft's Service Packs do that. So be careful and be sure of what you put into your installation to deploy.
For that reason I believe that, since VB5 basic runtime files are installed with the operating system, they should not be distributed together with your app. Please note that I am not referring to OCX's such as MsFlexGrid.
Re: Question about MSFlexGrid
Are you sure that they are shipped with all OS's 95/98/ME/NT/2000/XP?
Re: Question about MSFlexGrid
Quote:
Originally Posted by randem
Are you sure that they are shipped with all OS's 95/98/ME/NT/2000/XP?
Yes, I am, the only exception being Win95.