I have developed a windows application in visual studio 2012 and deployed the application using Installshield. When I install the application in 32-bit system it works fine, but while I install in 64-bit system, it installs fine but after installing the application is not opening throwing and error that,
Problem Signature:
Problem Event Name: APPCRASH
Application Name: sappln.exe
Fault Module Name: KERNALBASE.DLL
and more it goes on..
In configuration Manager, I have specified Release -> Any CPU
Can anyone give some solutions to avoid this error?
Thanks in advance!!
Seems like you are using libaries that can't run on x64 platforms. What libaries are you using?
Also check if your program does anything "special" upon startup.
This should keep you out.
Good luck!
Related
I have moved all my users from windows 7 machines to Windows Server 2008 remote desktop. All of the apps they use currently were developed in vb6 (new apps are being developed in c#.Net currently) and need to be used for the time being...
The apps seems to run fine in Windows 7. I just can't get them to play nice with server 2008. I did try to run dependency walker and found it was missing "msvbvm60.dll". Tracked that down to the actual VB6 runtime. Tried to find a download for VB6 runtime for server 2008 x64 and that was a no go. So I just tried to put the "msvbvm60.dll" file inside c:\windows\system32\ and c:\windows\SysWOW64.
It said there was already a file named "msvbvm60.dll" in the SysWow64 folder. So my question is, why would it not work? It seems windows 2008 already has the runtime on the machine. But depends says that "msvbvm60.dll" is missing... :/
Ideas?
Solved!
The issue has to do with DEP!
The root cause of this problem is a change made in Windows Server 2008 R2 to the time when the tsappcmp.dll module (Remote Desktop Services Application Compatibility DLL) gets initialized, which consequently causes your application to call DLL functions before it establishes a link to functions within the DLL.
The way I solved it was very simple! I just excluded my application from the Data Execution Prevention process and it allowed the application and all it's dependencies to load up without faulting in a timely manner.
Usage:
rundll32 sysdm.cpl, NoExecuteAddFileOptOutList "FullPathToExecutable"
Example:
rundll32 sysdm.cpl, NoExecuteAddFileOptOutList "C:\Program Files (x86)\MyApplication\MyApplication.exe"
Sources:
Access Violation of BEX or APPCRASH occurrs on Windows Server 2008 R2 with Terminal Service
This is a wild guess but can you run them with Compatibility Mode? (right-click > Properties > Compatibility)
Alright, so I've got a Windows service that has a FileSystemWatcher that watches an output folder for some Visual FoxPro database files. And it leverages the VFPOLEDB.1 provider to read those files. I cannot go away from this provider because it's being used in production.
However, I've never had to support this application before so that's why my development box isn't setup for it. Here is my environment:
Windows 7 x64
Visual Studio 2005
.NET 2.0 Windows service
so, when I first started getting the error I figured I just didn't have the provider at all, and I was right. So, I downloaded and installed it from here.
I then proceeded to drop the files in the folder again, but I got the same error.
I figured because it's an x64 machine I might be experiencing problems with it getting registered since it was probably dropped into SysWOW64, and it was as I expected, so I ran this command:
regsvr32 "C:\Windows\SysWOW64\mscomct2.ocx"
and it said it was successfully registered (which means about nothing LOL) but I dropped the files in again - same error.
I have not yet rebooted my machine, and I can if somebody has a compelling reason that's the problem, but generally speaking if the assembly is registered properly with regsvr32 that's not necessary. I've worked with a ton of COM objects and never have to reboot to get to the object as long as I've registered it.
Does anybody know another step I need to perform to get this thing registered?
It is registered as it should. It is your application that is compiled for AnyCPU Platform.
In x64 operating system this produces 64bit code and 64bit code could not access 32bit drivers.
Change your Platform to x86 and you will be fine.
EDIT
Two years later there is something to add to this answer. Now with Visual Studio 2013 the cheese has been moved. The article linked explain in great details how the compiler setup defaults has been changed. The AnyCPU target CPU with Prefer 32 bit means that your application works as 32bit app also in x64bit operating systems leaving practically no-room to x64 application unless specifically required.
With this new configuration becomes also important to remember what is posted in comments below by Mark Berry. If your (now 32bit) app needs to work in a IIS 64bit environment you need to set the Application Pool with Enable 32 bit Applications
I have desktop app (Win7 x64 VS 2015) - and kept getting the same error no matter what. I changed platform target to x86, installed MSI as admin etc - did everything I could google - and no luck. What helped me is to install MSI for Everyone instead of Just me - one of the last wizard's screen in the setup.
I have the same problem.
I install the VFP Ole DB Provider in my system and resolved.
download link
use Advantage OLE DB Provider,works for 32 or 64,here is the connection string
I'm working on a project on Device Simulator. If someone uses it and chooses a device to simulate, another application(Net Viewer) must be capable of detecting the device being simulated and the IP Address of the machine using it.
Here's my problem.
I am using a 64-bit OS and my other teammate is using 32-bit. When I tried to build the project on my PC and ran it, the Net Viewer wasn't able to detect my IP Address. But when my teammate built the project and ran it in his PC, it worked well. Then, we tried to run his built project in my PC and it worked fine.
What is causing this problem? We are both using anyCPU on Build Configuration.
It turned out that an alert handler was causing us the pain. My teammate solved this issue. I will try to post the code snippet that caused the problem anytime soon.
Thanks to all those who shared their ideas. :)
maybe force it to x86 instead of any cpu.
This way your application will run fine on 32bit and it wil run in WOW64 on your 64bit OS.
You can also force an application to run in 32bit modus with corflags.exe: http://msdn.microsoft.com/en-us/library/ms164699%28v=VS.80%29.aspx
If this doesn't help you need to provide more details.
I'm currently struggling with a problem I'm having after publishing an application that’s written using C# in Visual Studio 2010. The application runs without errors or warnings in debugging mode. In my application I’m using 6 different 3rd party .DLL:s, http://pcapdotnet.codeplex.com/ and vcinet2.dll.
The application is installable on my own computer and runs here without errors, however when I try installing it on a different computer it doesn’t work. And this is what happens:
The application is (after publishing through the publish tool I VS 2010) accessible in the folder specified. I run the setup.exe file and it starts installing. It finishes installing but directly after this (after a shortcut has been created on the desktop and the application starts to load) the application crashes. It says “MyProgram has stopped working, check online? Close the program? Debug the program?” When I click on more details this is shown:
“Problem signature:
Problem Event Name: APPCRASH
Application Name: MyProgram.exe
Application Version: 1.0.0.0
Application Timestamp: 4f9150a6
Fault Module Name: KERNELBASE.dll
Fault Module Version: 6.1.7601.17651
Fault Module Timestamp: 4e2111c0
Exception Code: e0434352
Exception Offset: 0000d36f
OS Version: 6.1.7601.2.1.0.256.4
Locale ID: 1053
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409
If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt “
What I have found after browsing the Internet for this is that people get this problem when they are using a remote server for the publishing, or updates from a webpage. But I don’t, I’m simply using the “From a CD-ROM or DVD-ROM” in the “How will users install the application” window in VS 2010.
I have been working with this for a couple of days now, mostly checking compatibility with the .DLL:s etc. But I haven’t found a solution for this.
Both computers are using x86 platform and my “platform target” in VS2010 is “x86”.
When I looked closer to “e0434352” (error code) I found that this was some sort of error for every Exception I VS2010, is this correct or have I misinterpreted this?
I would really appreciate any help I can get, I have a feeling that it is a simple solution with some setting in VS2010 that’s wrong but I can’t figure it out!
I’m not getting any exceptions in the beginning of the start of the program, which leads me to think that it is a setting which is wrong?
Best regards
Erik
Did you check the application files in the project -> publish properties? I have seen it where VS didn't automatically add the libraries I wanted in the application files. This should make sure that they get installed.
In my case this error happens when I use libraries of a Framework less than the framework that I use to compile the project.
There are some object that you use in your window form that from a Library of netframework 2 for example Microsoft.VisualBasics.PowerPacks.Vs that don't has a similar in Framework 4.
How to solve the problem?
Go to the project
expand the reference
Inspect the property of framework, usually the penultimate of the list is this version less than the framework use to compile change in the same property list the 'local copy´to true
Recompile and the application works
I have one windows application built using C# and .net framework 2.0 and its installed on Windows Server 2003.
I have tested application on my machine and it works perfectly on my machine. Only difference between two machines is that, my machine has Windows Vista OS and machine on which error occured has Windows Server 2003 OS.
When I start application, it works correctly for some time but then gives one error as
Faulting application ,
version ,faulting
module kernel32.dll,version 5.2.3790.4480, stamp , debug? 0. fault address 0x000bef7.
Source : .NET Runtime 2.0 Error
Category : None
Event ID : 1000
Does anyone knows why this error is coming? I googled for this error but most of the solutions were for either explorer.exe or internet explorer.
Use windbg or adplus to attach to the process and get the process crash dump. This would help you to identify the offending part of the code with symbols loaded. In most cases, it shows the last exception and hence gives a very good view of what could have gone wrong.