Legacy VC++ application on Windows 7 / 10 - odbc

Is it possible that an application that works fine in Windows XP wouldn't work at all in Windows 7 / 10? If not, what would be the steps to make it work?
I know the following about the application:
It is based on VC++
It uses DDE to communicate with MS Word (2000)
It uses ODBC32 for a db connection

There are many factors, but do try some of the things I tried with a similar issue: Error loading database on Lyrix.exe (Delphi 7 legacy application) on Windows 10

Related

can't install WDDX library on windows 2008 r2 for asp

We have a classic asp application that takes advantage of WDDX libraries on Windows 2003. We are trying to update to Windows 2008r2. We aren't updating to Windows 2012 for separate reasons.
We use this library on Windows 2003 http://www.finwin.com/Dev/wddxsdk/2__Software_Libraries/Installation.html#COM.
I installed this same library on Windows 2008. I was able to run command "regsvr32 wddx_com.dll" without errors. Yet, when we run the app we are receiving the error " ActiveX component can't create object" on the line "set objExtranetWDDX = server.createobject("WDDX.Recordset")".
It looks like this post might have the answer you are looking for
how-to-register-a-32-bit-dll-com-application-on-windows-2008-r2

What would cause an AnyCPU web application to only work in 32 bit mode?

I have a .net mvc web application hosted on an IIS 7.5 web server. There are several dozen other applications on this web server, all in their own application pools. ALL application pools are 64bit and things have been working fine for some time.
Last night after making a few client side changes to the site in question I published and received the error, "Could not load file or assembly 'EntityFramework.DLL or one of it's dependencies. is not a valid Win32 application. See screen below.
I ran into this error several years ago and found that by switching my app pool in IIS to 'enable 32bit applications' fixed it. This time around however, I want to understand why this is happening. There should be no reason I can't run in 64bit mode.
I know the cause could be many things so I will just list some of things I have tried. Perhaps someone has an idea where to start.
In visual studio 2013 update 4 my application is set to build for 'AnyCPU'. I have tried building exclusively for 64bit and got the same error.
I am using EF 6.1.1 with data migrations
My web server is running windows server 2008 64bit w/ iis 7.5
My development machine runs windows 7 64bit and IIS 8 express. My app works fine in this environment
I do have references to other projects that reference EF. If their version is not consistent could this be a problem?
My application targets .net 4.5 and I have that version installed on my server.
The only changes I made to this commit from the last working one were some client side code and one new migration that involved adding a new nullable string/nvarchar property to a table.
I did update to visual studio 2013 update 4 between last commit and this one.
Any ideas? Thanks ahead.

Cannot get ADO connection working on a classic ASP website running in IIS Express on Windows 7 64 bit

I have a legacy classic ASP website that I need to do some maintenance work on. My development machine is running Windows 7 64 bit, Visual Studio 2012 and IIS Express 8.0.
The ASP app is backed by a Microsoft Access database.
The website runs fine until it tries to establish a connection to the database, where it fails with the following:
0x800a0e7a - ADODB.Connection: Provider cannot be found. It may not be
properly installed.
If the ASP process is running as 64-bit and it is trying to use the Jet database engine then that won't work because there is no 64-bit version of Jet. If that is the case then you can either
install the 64-bit version of the Access Database Engine (ACE), available here, and tweak the connection parameters as required, or
get the ASP process to run as 32-bit
I had the same problem you mention in a follow up comment.
I tried to install the 64 bit version, but I could not because I have
Office 2010 32 bit installed.
You can force the 64 bit version of the Access Database Engine (ACE) from here to install with the 'passive' switch:
AccessDatabaseEngine_x64.exe /passive

can my .NET framework 4 web application run on windows 8?

I've been developing a web application with an expected client machine OS of XP. I just found out that the customer upgraded their machines to Windows 8.
So my questions are:
Can I still deploy my web application (.NET 4.0 and 2008 SQL Server express backend) on a Win 8 machine as expected?
Are there any concerns for running my app on Win 8?
I haven't had time to even check out Windows 8 yet as I was not expecting this.
Yes, .NET 4.0 application can work without any problems on Windows 8 and Windows Server 2008/2012.

BadImageFormat Exception with Oracle 64 bit client running on Win 7 X64

I've run into a problem after installing the 64 bit Oracle client onto my Win 7 x64 dev box. I have installed and configured the oracle client and added a reference to it in my library project and it runs without problems when deployed to a Win 2008 R2 server; however I cannot run it in the built-in VS2010 debugger.
The code throws a BadImageFormatException when the .open() statement is called on the connection object.
I figured out that if I will run it in IIS and move the application out of the default application pool, the error goes away for some reason.
However, I can't do this when I'm running the test project (MSTest) and I the result is that I cannot run unit tests against this code. Yes, I can mock it, but I would really like to understand and eliminate this error. There are several cases where I would like to test against some test data in the database.
Any suggestions or links would be greatly appreciated.
Thanks,
Trey Carroll
Here's the answer according to senior dev in my group VS is a 32 bit application so running things in Casini is of course from a 32bit context. When the 32bit Web Appattempts to use the 64bit Oracle Client, it causes the BadImageFormatException. (Apparently deploying to IIS is allowing the Web App to run as a 64bit app and eliminating the conflict.)
So here's the question: How do I run MSTEST unit tests from VS when there are dependencies on 64bit dll's? I could obtain 32bit versions of these, but how would I tell my application to use the 32bit versions for testing/Casini debugging and the 64bit versions otherwise?

Resources