ACE32.DLL was not found
-
One of my users is having trouble running one of our applications and it's getting confusing to debug. Unfortunately, there is a complicated environment to deal with.
The application is stored and shared from a virtual machine running Windows Server 2016. (server vm)
The user logs in to a different virtual machine and has a shortcut to run the application on her desktop. (client vm)
When she signs on to the client vm and runs the application, she is told
The code execution cannot proceed because ACE32.DLL was not found. Reinstalling the program may fix this problem.
But when I go on the client vm and run the application, it works fine.
WTF?
-
@Captain are they running executable that's stored on network drive? If so, they must be missing some system library on their machine. Unfortunately, I didn't have much luck finding what this "ACE32.DLL" thing is. Have you heard of Advantage Database Server? If yes, this might be it; if not, maybe you can try copying it from server's system32 or syswow64.
-
@Gąska Yeah, the executable is on the shared drive. Yeah, the application uses Advantage Database Server internally.
What you're saying makes sense. But if the problem is that the client vm doesn't have ACE32.dll installed, why can I run the application from the client vm?
I'll install the "Advantage Client Engine" on her machine anyway.
-
@Captain said in ACE32.DLL was not found:
why can I run the application from the client vm?
Is your PATH on the VM different to hers?
-
@Captain oh. The client VM. You know, it wasn't that obvious from OP. Too many virtual machines...
Anyway. The most likely reason is that there are some security shenanigans going on that let the EXE load DLL if it's run from local disk but not from network share. The rules are pretty complicated, and it's quite hard to google them up, and also it's completely different for managed and unmanaged code. Normal workaround is to copy DLLs into the folder with EXE, but given the DLL's owner application is something you don't control (have no source access to), you shouldn't consider it a real possibility since the chances of breaking something are very high.
-
@Captain running "regsvr32 <path_to_LOCALY_COPIED_dll>" might be sufficient (don't forget that there can be dependencies)
anyway: procexp.exe (Sysinternals Toolkit) might be your friend.re "why can I run the app from the client vm?":
-) 'cos it's lodged within the registry there somewhere (install-process)
-) 'cos .NET doesn't prevent <client-machine> from loading <whatever> over a fileshare (got bitten by this one for just one of the thingamajigs of the client-apps we sadly have to support; everything BUT THIS ONE THING works if one starts the client via a network-share)
-) 'cos it's an old-ass-app and INSISTS that <whatever.ini> has to reside in c:\windows\system32If you absolutely have to get this running I've to point you to procexp.exe, an ungodly amount of elbow-grease and -can't be avoided- some "'cos it's shit!" from @blakeyrat
/loooong time lurker; you just triggered my "oh man, I'm sorry about your hassles"-nerve.
//WIBU-Key (Parallel-Port, App could not be upgraded in 2005 'cos <raisins> and we are still stuck with this 2018, how run a W2K-Server with LPT1-Passthru on ESX 6.5 / vCenter 6.5 without VCSA throwing a hissy fit? ...anyone...?)
-
@Gąska Sorry, my fault.
Now that's annoying as hell. It seems like everybody else can use the application.
I'm going through the event viewer now to see if I can track down an error.
-
@loopback0 It shouldn't be. It was set up by group policy.
-
@Captain said in ACE32.DLL was not found:
@Gąska Sorry, my fault.
Now that's annoying as hell. It seems like everybody else can use the application.
I'm going through the event viewer now to see if I can track down an error.
I hope this isn't teaching you how to suck eggs, but Process Monitor is my go-to for situations like this:
If you filter on !SUCCESS then you should be able to easily see what's going wrong. I'm using it to work out why I'm getting different services.exe behaviour between a LOCAL SYSTEM and Domain Administrator user context at the moment.
-
@Captain said in ACE32.DLL was not found:
@loopback0 It shouldn't be. It was set up by group policy.
Yeah but have you actually checked it?
It's one of the first things I'd check if the DLL is present on the machine and it works for one user but not another.Also is the DLL in a location that her user can access? Does she have the same permissions? is it mapped properly for her user?
-
@Cursorkeys said in ACE32.DLL was not found:
I hope this isn't teaching you how to suck eggs
Normally when I encounter an idiom I never heard of, I google for its meaning and etymology. This time, I'll pass.
-
@iKnowItsLame welcome to the forum! I hope you stay here, you sound like someone who has lots of "fun" stories to tell!
-
@Gąska said in ACE32.DLL was not found:
@Cursorkeys said in ACE32.DLL was not found:
I hope this isn't teaching you how to suck eggs
Normally when I encounter an idiom I never heard of, I google for its meaning and etymology. This time, I'll pass.
It's totally benign but incredibly ancient. A favorite expression of my mother's :)
@iKnowItsLame Welcome!
-
@iKnowItsLame Welcome, lurker!
-
@Cursorkeys said in ACE32.DLL was not found:
@Gąska said in ACE32.DLL was not found:
@Cursorkeys said in ACE32.DLL was not found:
I hope this isn't teaching you how to suck eggs
Normally when I encounter an idiom I never heard of, I google for its meaning and etymology. This time, I'll pass.
It's totally benign but incredibly ancient. A favorite expression of my mother's :)
We have a similar expression in Polish - "don't teach a father how to make kids". Not sure about the age of that sentence, but it sounds very modern, and is in wide use today. But then, Polish language didn't change as much over the years as English - we can still read our 16th century poetry just fine.
-
@Gąska said in ACE32.DLL was not found:
we can still read our 16th century poetry just fine
We have plays from that period on our English curriculum; that's still considered to be (somewhat archaic) modern English, though without the loads of half-assed spelling reforms. Middle English is from several hundred years before that, and is a bit more difficult to read. Old English (which I can't read at all) is from even further back. One of the trickiest bits is that the social context has changed a lot; what things there are words for and what those words are has changed quite a bit due to the simple fact that society has changed colossally several times over the past millennium and a half…
-
@dkf said in ACE32.DLL was not found:
Old English (which I can't read at all) is from even further back.
-
@dkf said in ACE32.DLL was not found:
One of the trickiest bits is that the social context has changed a lot; what things there are words for and what those words are has changed quite a bit due to the simple fact that society has changed colossally several times over the past millennium and a half…
On the other hand, changes to Polish words were pretty minor. Mostly about honorifics, politically charged terms, and a few odd ones like "sprzęt" which used to mean "appliance, furniture, possession", but now it's more like "equipment, toolset, contraption". Also, somewhere in the 1920s, we got rid of the "x" letter and replaced it in all words with "ks".
-
@Gąska said in ACE32.DLL was not found:
we got rid of the "x" letter and replaced it in all words with "ks".
0ksdeądbeefcąfebąbe
-
@Zecc said in ACE32.DLL was not found:
@Gąska said in ACE32.DLL was not found:
we got rid of the "x" letter and replaced it in all words with "ks".
0ksdeądbeefcąfebąbe
The
XKs11 devs still tell each other war stories from the days of that change.
-
@Zecc it should come as no surprise that when we want to say "xD" sarcastically, we write it down as "iksde".
-
@Gąska said in ACE32.DLL was not found:
@Zecc it should come as no surprise that when we want to say "xD" sarcastically, we write it down as "iksde".
We do something similar in Italian. "Icsdì".
-
@admiral_p Icsdì, Mario!
-
I've been told someone's Italian side of the family hadn't realized Mario was supposed to have an Italian accent until it had been specifically brought to their attention.
-
-
@Zecc said in ACE32.DLL was not found:
I've been told someone's Italian side of the family hadn't realized Mario was supposed to have an Italian accent until it had been specifically brought to their attention.
He's too happy to be Italian. A true Italian would sound either always pissed off, extremely self-conscious about their English or trying hard to be suave.
-
@Zecc said in ACE32.DLL was not found:
I've been told someone's Italian side of the family hadn't realized Mario was supposed to have an Italian accent until it had been specifically brought to their attention.
I didn't realize Swedish cook in Scooby-Doo was supposed to have Swedish accent until it had been specifically brought to my attention. I thought he's just unable to speak.
-
@Gąska said in ACE32.DLL was not found:
I didn't realize Swedish cook in Scooby-Doo was supposed to have Swedish accent until it had been specifically brought to my attention. I thought he's just unable to speak.
Scooby Doo? You mean the Muppets?
Bork bork bork bork bork.
-
@Captain no, I mean Scooby-Doo. I heard making fun of Swedish people was pretty popular in the 70s.
-
@Gąska It still is, at least according to the Finns.
-
@cvi we have a saying here in Poland, "children and fish don't get to speak". I'm pretty sure it extends to fins as well.
-
-
@Gąska I like terrible puns. But ... damn. :-)
-
@admiral_p said in ACE32.DLL was not found:
@Gąska said in ACE32.DLL was not found:
@Zecc it should come as no surprise that when we want to say "xD" sarcastically, we write it down as "iksde".
We do something similar in Italian. "Icsdì".
mi'arta'i xo'o
-
@Gąska said in ACE32.DLL was not found:
Also, somewhere in the 1920s, we got rid of the "x" letter and replaced it in all words with "ks".
Something Germany would have done well to culturally appropriate when they had the, uh, chance.
-
@dkf said in ACE32.DLL was not found:
@Gąska said in ACE32.DLL was not found:
we can still read our 16th century poetry just fine
We have plays from that period on our English curriculum; that's still considered to be (somewhat archaic) modern English, though without the loads of half-assed spelling reforms. Middle English is from several hundred years before that,
Going back only about one hundred years from there is sufficient to get into the Middle English period. Chaucer is 15th Century, and it's definitely Middle, not Early Modern English.
and is a bit more difficult to read.
Reading about (or just sounding out words in your head) helps a lot. Between words that look like (close enough) their Modern English equivalents (though maybe pronounced very differently) and words that sound like their Modern English equivalents (though maybe spelled very differently), you can read probably 90% of the text. It can be a laborious slog, though, if you try to read the entire text with correct Middle English pronunciation, as I did when I was trying to read Canterbury Tales.
Old English (which I can't read at all) is from even further back.
Yes. It's an almost entirely different language. To me, it seems closer to German (which is, of course, its origin) than it is to Modern English.