andyr74 发表于 2022-7-6 22:05:56

Old program doesn't work

On acad we use some own created lisp routines. We also use an "*.exe" program, probably created in lips and compiled in exe and made by an old collegue. We don't have the source code for this. This program is maybe 20 to 25 years old. This program is used for the input and drawing of some things we use. We never had problems with this program.
 
Up until now we used 32 bit Windows versions.
We now just switched to new computerhardware with 64bit windows 8.1.
 
The lisp routines stil work but the biggest problem is the exe-file. When trying to run in acad it says the program is not compatible with the current windows version.
So, I think it is a 16 bit program we try to run on a 64 bit OS.
 
Is there anything we can do about this.

iconeo 发表于 2022-7-6 22:21:51

Have you attempted to run it in compatibility mode yet?
 
link

BlackBox 发表于 2022-7-6 22:33:09

 
Your .EXE is a compiled, external, stand-alone application, and not an internal routine such as LISP, nor an AutoCAD plug-in (.DLL)... External code that accesses AutoCAD uses COM API (as a generalization), which is environment dependent (i.e., 32-bit vs 64-bit), and requires a recompile for 64-bit environment.
 
If this code was produced by a former employee, then presumably it was not obfuscated, so you can simply decompile with IlSpy, etc. and paste the source code into your own, new Visual Studio project and compile for the correct environment, or simply port the code to .NET API if you can still get a hold of the 2009 SDK (the version you list as using, unless you've upgrade that too, with Win8.1?).
 
Cheers

andyr74 发表于 2022-7-6 22:40:55

 
The program reads values from a text file and makes a script file (together with some input) for everything that has to be drawn. Running this script file will draw everything needed.
 
I will try to decompile it.
Can I recompile it with the visual basic editor within acad or do I need a special program?

andyr74 发表于 2022-7-6 22:49:36

I tried to load the "exe" file in IlSpy but I get the message: "This file does not contain a managed assembly."
 
The "exe" file was originally created many years ago (around autocad 10 or 12 I think). I don't know how it was created.
Is there a way to know how it was created and the to decopile it with a correct program?

BlackBox 发表于 2022-7-6 23:03:28

Well, that's not good... It sounds like you're going to have to start from scratch, if we cannot get you the source.

jmtport 发表于 2022-7-6 23:15:48

Hello Andy, I specialize in writing AutoCAD arx programs. If you decide to have recreate it I can do it for you at a reasonable rate. My contact info is: Joe Thompson, jmatthew.thompson@gmail.com
页: [1]
查看完整版本: Old program doesn't work