The big problem
In the organization where I work, the management system (a modular application created by another company) was developed in the year 97/98 on VB, and has never migrated to another more evolved development platform, such as VB.NET. This application (of 32 bits) worked correctly on Windows 7, both 32 and 64 bits.
Now, and for obvious reasons of security, we have to install this system on Windows 10, and here are several problems:
- Without compatibility with windows 7, the main application launches sub-applications with other buttons, as if they were modules. It happens that several of these sub-applications throw Runtime Error '53': file not found without specifying which dll is missing. Other sub-applications do not open. Of course we have already checked that the libraries are registered with
- With compatibility with windows 7, runtime error '53' seems to go away but then the program issues a warning (say, a predicted warning given that it appears in non-English language), noting that it was not possible to copy some files that must be processed to the special folder
UserProfile, adding as a detail 'Runtime Error '52':Bad file name or number'.
What have I tried?
I tried running the application on Windows 10 of 32 and 64 bits. In both versions the program failed and it even seems to work worse in the 32-bit version.
I also tried to disassemble the code, managing to obtain that the error comes from solving some route related to the special folders (at least
I researched on my own and I suspect that it may be due to some shell and architecture problem, as shown in this thread, Since the application uses the shell to resolve the special folders. However, it resolve the paths of these folders correctly.
I have a high suspicion that it is related to running the application in a higher mode, which I tried to run in administrator mode and take the permissions of the special folders. But I think that I'm missing some configuration.
I am seriously considering virtualizing windows 7 within windows 10 until the program is updated, as suggested here, but I want to use it as a last bullet.
Honestly, I'm stuck. Any ideas?
PD: Please avoid obvious answers to the style "your organization should pay for better software"; I'm in the IT department, and we have not yet managed to unbind the databases of this ugly management software; not to mention what it is costing us to convince our superiors of the change.