Does a Lazarus program need special permissions to run on Windows? - windows

I built a Lazarus program and it's now in exe form.
I am able to run it on two of my computers running XP and Vista.
However, there are other computers as well running XP, Vista and Win7 but I cannot get it to run at all on them.
There are no errors, nothing... Has anyone else had this issue?
The program is connecting to a postgres DB on my LAN server.
Any idea on fixing this is really valued.
NEW INFO:
Maybe I'm wrong but here's a thought... On the development machine, I initially got an error like **libpq.dll* not found when I first tried to connect to postgres. Then after setting the path, it was fine. I'm thinking now if it cannot find that library and that's why it's not able to run.
If this is the case, should my line Application.OnException:=#CatchErr; catch the error? If not how else should I check if this dll or anything else is missing?

First, a sincere and big THANK YOU to Marco and MArtyn for the great tips and guidelines hat got me thinking of this strange issue.
Here's what happened...
I installed a fresh copy of Windows 7 and XP. As usual it did not work.
Then I suspected the old problem of libpq and then I copied libpq.dll from my working OS and put it in the application folder. By the way this machine has no Lazarus or Postgres. The moment I did this, I got my first error message saying that msvcr100.dll was missing.
And then I copied that as well. So the cycle of copy pasting went on for each and every error until I had finally brought these files to my 'non-working'.
libpq.dll - 9.2.1.12263 - PosgreSQL Access Library
msvcr100.dll - 10.0.40219.1 - Microsoft C Runtime Library
ssleay32.dll - 1.0.1.2 - OpenSSL Shared Library
libeay32.dll - 1.0.1.2 OpenSSL Shared Library
libintl.dll - 0.18.1.0 - LGPLed libintl for Windows NT/2000/XP/Vista/7
Once these files came in, the problem was gone!
Now the program works great :)
Thanks for all your inputs!
I now have to see what the above files have to say about their licenses as I have to distribute the app to other users. But I'm glad at least we figured out the problem.

No, base Lazarus programs don't require special permissions. Of course it could be that a specific functionality in the program requires special permissions (like access to ports below 1024, access to certain paths etc).
Also be aware that EXE's downloaded from what the system considers insecure sources (internet, certain kinds of shares) might be blocked by default. If that is the case, if you take the properties of the .EXE in windows explorer, there will be an "unblock" button.
Anything network related of course requires proper configuration of the firewall. The popups that query you might not always come, in case of doubt configure the firewall manually.

Related

Installing Oracle form and got an error. Cannot launch the installer (555)

Oracle form downloaded at:
http://www.oracle.com/technetwork/developer-tools/forms/downloads/index.html
When I ran the file setup_fmw_12.2.1.3.0_fr_win64.exe,
it gave me an error "Cannot launch the installer (555)".
fmw_12.2.1.3.0_fr_win64_Disk1_2of2 <-- Folder
setup_fmw_12.2.1.3.0_fr_win64-2.zip
fmw_12.2.1.3.0_fr_win64_Disk1_1of2 <-- Folder
setup_fmw_12.2.1.3.0_fr_win64.exe
Even though this relates to the installation of a developer tool, most would consider this particular type of question as generally off topic for stackoverflow. Your question also contains too little information to determine what the problem really is.
However, let's just mention some obvious things to see if it helps you solve your own problem:
Did you try the setup on another computer (or a virtual machine). This could be a good way to avoid the whole problem rather than spending a lot of time trying to fix it.
Did you locate any log files for the failed install?
A quick look seems to indicate that you can find log files at: %SystemDrive%\Program Files\Oracle\Inventory\logs (%SystemDrive% is normally C:\).
Or %SystemDrive%\Program Files (x86)\Oracle\Inventory\logs for 32bit installers on 64 bit systems).
Found in the troubleshoot section here - have a look yourself too - read from the top.
And the most obvious of all: did you contact Oracle support or search their user community or knowledge bases? Somebody will have seen this problem before. Looks like you need to register: https://support.oracle.com/
A quick search reveals that the Oracle Universal Installer is a Java based installer. Could Java be broken on the box you install on? (looks like the launcher should install the runtime automatically, but this could fail due to special conditions on the box. Try on a clean virtual machine). How to check whether java is installed on the computer.
Try disabling your anti-virus as well before running the setup on the problem box. Some setups even try to access the Internet during installation, and then your firewall could be a problem too. I would hate to turn that off though.

VB6 application causes install to show up

I got a weird problem with my VB app that has got me very confused. I am updating an existing program. I had to add some processing queue capabilities. On my system, unit testing worked great but when I compile it and run it on a different computer (a network server machine) it first tries to open an office install. If I cancel this, the program seems to run fine. The problem is that this program will be run in the background and I can't be hitting cancel each time it runs.
So my question is this: what is going on here? I'm usually a java developer we eclipse so I'm used to being able to include all the needed libs into the jar files automatically. It doesn't seem like the case with VB6. it seems like it expects all the same libs to be on all the systems. Is there any way to tell what might be triggering this?
The only thing I can think of that is causing it is that I'm using the "OpenProcess" function in the kernal32 lib. that the only major change I have made.
any help would be very appricated. thanks!
EDIT:
It seems that multiple versions of word were installed on the system and it was screwing things up somehow. We uninstalled one and it fixed it.
I ran into this a while ago and it was related to my installer for the VB6 app overwriting some system files for Office that it shouldn't have. Any time one of the System dlls was accessed Windows would determine that something was wrong and the Office installer would start up.
The short-term fix was to let the Office Installer repair the broken chain of dlls.
The long-term fix was to never overwrite built-in Windows System dlls.
You could also check out the Microsoft Fix it Center.

VB 6.0 Out of Memory Error

One of my VB 6.0 application throws an error "Out of memory" when loading the form in a particular system, but works fine in other machines. But other vb 6.0 application works fine in the same Machine.
Problematic Machine Details:
Windows XP, HP load runner installed
Other Machines:
Windows 2003
I tried so many ways to find the root cause but i couldn't. Please help me out to find the root cause..
Thanks,
Gunasekaran Sambandhan
Finally i found the solution for this issue. One specific dll (MSSTDFMT.DLL) of this project is missing in this particular machine. I have placed and registered the dll. Now it is working fine.
Thanks,
Gunasekaran Sambandhan
Want to add our fix since it took us days to figure out what was going on.
We were trying to get an old VB6 program to run on Windows 7, we'd gotten it to work on other PCs but this one was giving us problems. Apparently we were missing a dependency, and often this misleading error can be due to missing dependencies.
The particular dependency we were missing was FM20.DLL which we got by installing Microsoft ActiveX Control Pad (http://download.cnet.com/Microsoft-ActiveX-Control-Pad/3000-2070_4-127950.html)
Sometimes if the registration of one or more modules gets messed up, the message "[7] Out of Memory" may occur. Unregistering and then registering the DLL(s) will fix the problem in that case. (Just encountered this on a machine that was "scrubbed" by a network push - IT could not tell me what they scrubbed exactly.)

SDL.Net application not working without SDL.NET SDK

I have a game that I have made in C# and it installs and runs as expected under Windows XP. However when I install it on a Windows 7 machine, then it either simply doesn't work (without any error message) or it gives a generic error message. Is there anything special that I have to do in order to be able to use SDL.Net with a Windows 7 computer?
UPDATE: I have just been informed that it doesn't even work on XP. Both XP machines I tried it on had SDL.NET installed (I didn't know that one of them already had it when I used it for testing). So pretty much if SDL.NET SDK is not installed on a computer my program doesn't work. Does anyone have some insight into what exactly needs to accompany my program from SDL in order to make it work properly? right now I have all the base SDL_*.dll and SdlDotNet.dll and Tao.Sdl.dll. More needed? Or is there some kind of SDL runtime that I have to install with my program in order to use it? I am really stuck with this one.
Have you tried running it as admin? I don't mean happening to be logged in as an admin account, I mean right click the exe and Run As Administrator? If you do that and don't get the error, then your problem will be quite easily solved, without requiring it to always Run As Admin.
Added every Dll including those that weren't explicitly needed and it now works. Apparently there are some hidden links between dll's that I didn't know about.

What causes the Vista/Win7 warning: "This program may not have installed correctly" ?

What causes this warning and what can I do to keep it from popping up when my app installs?
Possible causes:
Virus scanning software (I'm looking into that)
Not putting the uninstall in the Add/Remove programs (this will definitely cause the problem, per documentation from Microsoft (see answer below)
Putting .ocx or .dll files in the App Directory?
Not registering the library files (app runs fine without reinstalling, so I don't think this is it.
Any other ideas?
To fix this, see this blog post by Aaron Stebner:
Your app is probably being detected by the PCA (Program Compatibility Assistant) as a non-Vista (pre-Vista) installation application.
You will need to add an embedded manifest and set a requested execution level
There is a previous stack question on this topic as well with some alternative work-arounds (noob, I can only post one link at the moment). You should be able to find some information on Vista-aware installation applications and be able to resolve this issue, but the info above has worked for me in the past.
One of the reasons this pops up is that after running the installer, the system checks to see if something changed in the installed programs list. If the contents of the installed programs list hasn't changed, it assumes that your application failed to install correctly.
I think this is related to operations which may be denied via UAC. (Not sure what exactly - file copies to restricted areas?)
To keep this from occurring, run the installer as an administrator.

Resources