vb.net application is not working on other computers? - vb.net

i have a simple app of one form.
on this form there is:
webbrowser -
axshockwavecontrol -
combobox -
label -
progressbar
the code is not so much of a work so it is not neccessary to explain it.
all the problem is that the app is working perfectly on my computer but it is not working on other computers
* on windows xp it is not opening and crashes with the "send and don't send error"
* on windows 7 the cursor is loading for a couple of seconds and nothing happen.
i don't know where to search but there is nothing so special in the application except for the shockwave control.

Did you check the availability of the .Net Framework in the computer? If you don't have installers of the frameworks, you can simply download here: http://www.microsoft.com/net/download

I've had similar issues, solutions were:
Make sure the latest Flash plugin is installed on the target system.
Compile the app and all related assemblies as "x86" (instead of "Any CPU").

Related

How can I programmatically detect missing DLLs for LoadLibrary() or have Windows report them?

I want LoadLibrary() to show which DLLs are missing when it fails. According to the documentation, as long as you call SetErrorMode(0), Windows should automatically pop up an error message box showing the 1st missing DLL.
This does happen on Windows Server 2012: The program can't start because DLL2.dll is missing from your computer. Please reinstall the program to fix this problem
But it doesn't happen on Windows 10 Pro & Enterprise, and Windows 7 Enterprise. Is there some function or registry entry to turn it on? Or can I programmatically get the missing/unloadable DLL? GetLastError() doesn't seem to return that.
Some more details about what I'm trying to do. Earlier, all the DLLs used were loaded at startup. If a DLL couldn't load, there will be an error message in every version of Windows. Then I started using delay DLL loading which uses LoadLibrary(), but then the error message no longer shows, which is very frustrating for debugging problems in the field.

Visual Basic SaveDialog missing dll

I have written a user interface in Visual Basic that sends commands to AutoDesk Inventor to create 3D CAD assemblies. Towards the end of my program, the CAD file is saved and a SaveDialog box comes up. It was working perfectly fine for a while, but now there is an error. Here is the relevant code segment:
SaveDialog.Filter = "Inventor Part | *.ipt|Step File | *.stp"
SaveDialog.DefaultExt = "ipt"
SaveDialog.ValidateNames = True
SaveDialog.ShowDialog()
On the last line shown, I get a run-time error as follows:
"The program can't start because api-ms-win-crt-runtime-l1-1-0.dll is
missing from your computer. Try reinstalling the program to fix this
problem."
After closing this error message, the SaveDialog box comes up anyway and works perfectly fine. Of course, on the compiled version the error box never actually shows up and the program simply hangs up indefinitely.
I have search for solutions to this problem for two days. I used Dependency Walker and found a list of other dlls that are reportedly missing, most of them under the MSHTML.DLL
I figure there is probably something that is not referenced correctly in my program, but I'm not sure where to look. Thanks for any help!
The problem is that the KB2999226 (Universal CRT) which is part of the Visual C++ Redistributable failed to install. Is your automatic updates turned OFF?
Solution
Install Windows Updates:
Go to Start - Control Panel - Windows Update
and click on Check for updates. Install all available updates. After the updates are installed, restart your computer. After the restart repeat the steps above again until no more updates are available.
Download the Visual C++ Redistributable:
For Windows 64-bit
http://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe
For Windows 32-bit
http://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe
Run the vcredist_x64.exe (64-bit) or vcredist_x86.exe (32-bit) and select Uninstall. Run the .exe again and select Install

Running .EXE file made in visual studio 2005 failure

I would like to run a .exe file made with visual studio 2003 but I get an error every time I run it on a windows 7 machine, vista machine, and xp machine. The error on Windows 7 and vista says "application has stopped working" and then makes me close the error box.
In windows xp it's a little different error, "the application failed to operate (0xc0000135) Click on OK to terminate the application."
That error code seems to indicate the application failed to initialize correctly.
It is possible that the anticipated .NET version is not present.
As far as I know, VS 2003 by default compiles against the .NET 1.1 library. There is no straightforward way of installing this on a Windows 7 or Vista box. Do you need to compile it against the .NET 1.1 library, or can you load it in VS2005, change the output .net version to 2.0 or higher, and recompile the application?
If you have the source code to the application, try running the application in debug mode and stepping through line by line until you find the exception. If you do not have the source code, possibly try running the application in a couple different compatibility modes. Another option to try is to check the windows event log for anything more specific.
If you want to get really deep into it, you can use SysInternals ProcMon.exe and filter on the failing exe to view the WinAPI calls that are happening during the failure.
Also, a basic search of forums shows that error is usually accompanied with framework issues. Either recompile the application or check out what your required framework is in the VS2003 project settings.

Printing a form in VB.NET on Windows XP

I developed an application for a local company that required printing a chart and some data. I made the program on a Windows 7 machine using the PrintForm control. It printed just fine and I sent it to the company, but they are running it on WindowsXP and the program is crashing. I assumed that PrintForm would work on all Win operating systems but apparently that is not the case?
If there is something special that needs to be done to get PrintForm to work on XP that would be fine (downloading a lib file or something), but otherwise what is the best way to print out a VB.NET form on Windows XP?
Thank you!
My guess is they don't have the Microsoft.VisualBasic.PowerPacks.VS.dll on their PC's. You need that to be included in your deployment project so they can call PrintForm.
I don't think this is unique to XP though. According to MS, this has been a feature ported from the early VB days.

What's the proper source for Windows Common Controls 6.0 component (MSCOMCTL.OCX)?

I'm experimenting with writing ActiveX controls and noticed that I can't seem to create an ActiveX control in Visual Basic (6.0) which features slightly more sophisticated controls. Simple controls like labels, buttons and check boxes seem to work fine, but as soon as I try to add e.g. a tree control to my form, the ActiveX control stays entirely blank as soon as I embed it into some host application on another computer. It works fine on my development box though.
While going through the Projects->Components (Ctrl+T) list, I found two libraries which apparently contain a tree control:
Microsoft Windows Common Controls 5.0 (SP2)
Microsoft Windows Common Controls 6.0 (SP6)
As soon as I add any of the controls from these libraries to my form, the form stays entirely gray when embedded on another computer. The other computer is a Windows XP system, so I hoped that missing redistributables wouldn't be an issue, given how old Visual Basic 6 is. To be sure, I installed the VB6 redistributables, but unfortunately that didn't make a difference.
Does anybody know why my ActiveX control would stay gray on other computers, but not on mine, as soon as I add any of the controls from the above libraries to me form? FWIW I just need a tree control so if there is some other, more appropriate, library available - that's fine with me.
UPDATE:
As it turned out, it helps to download MSCOMCTL.OCX into C:\WINDOWS\SYSTEM32 on the other computer and then registering it via regsvr32 C:\WINDOWS\SYSTEM32\MSCOMCTL.OCX. However, I didn't find an official source for this file, and running the COM registration by hand looks cumbersome to me. Is there really no redistributable I could use?
VB6 runtime is preinstalled on XP and above but the Common Controls component you are referencing is not.
Try installing Microsoft Visual Basic 6.0 Common Controls redistributable on the client machines or event better make a setup for your application.
Edit:
Opps, the link is for an update that does not install the OCXs if not already present. The only redistributable I find is a merge module for Windows Installer.
To solve this problem, I developed a .msi package. The source files (WiX) and stake posted here:
https://github.com/IT-Service/ITG.VB6CommonControlsRedist