I have lots of really old example project. After renaming the rb to rbp or xojo_binary_project most of them open fine. Xojo will tell you what you need to update. Usually project supers and old constructors need to be fixed.
It is possible to upgrade though. Your best course of action may be to gradually transition though, that is, open it, check project and save it in an IDE from each year. My preference when doing this is to use the very last numerical version from each year, because they tend to have the last stability updates for a particular year. For instance, 2019r3.2 came out in the summer of 2020. If you have a current license, that would be relatively easy to do.
That said, there will be years for which this is not possible due to changes in xojo’s licensing over the years (particularly the early Xojo years) so you may need to “jump” from 2012 to 2015. You may need to talk to Xojo about intermediate licenses in some cases to make it possible.
Another thing you need to consider is the bitness of the OS & machine you are running the IDE on. While building for 32-bit can be done anywhere, recent versions of Xojo require a 64-bit development machine and on macOS, apps will only run n on a 64-bit OS or one running on the new Apple Silicon processors. Windows systems still allow 32-bit apps, but it would not surprise me if 64-bit becomes a requirement someday in the future.
Bitness also affects how much memory your app can address. On Windows, 32-bit apps are limited to 3.5GB of RAM, but a 64-bit app has no such constraint. (Well it does, but it’s bigger than any machine likely to sell in the next few decades). Most (if not all) machines running Windows 11 are 64-bit already.
about rewrite the app i would look how complex it is and then decide.
if it is a “big” app don’t touch it, maybe care and continue with newer xojo ide but not exchanges classes.
i would open a project copy in new ide and see what happens.
in xojo without license you can run the app but not build an exe.
If you stick with API 1, depending on your code, you may not need to update a great deal… but a few basic things have changed that will ned to changed through the code, but that usually is only changing or adding line or two…
(well windows flickering is now a very different thing than it was back then and that could require a lot of rework)
Updating for API 2 would be a major project and I think mixing the APIs is asking for trouble IMO.
If your problem is “I need to do some basic updates to the current app” the fast track is trying using your old Realbasic.
If your problem is “I need to update the technologies” (sqlite, databases, PDF, charts…) you will need the effort of updating it.
First, right now, I would try a “fast approach” just to see the impact.
Loading it into Xojo 2016r3 and analyze the effort.
Once you decide or are forced to update the code, my first stop would be at Xojo 2016r3, and after ok and running, I would do a copy and the load/save steps in 2019r1.1 and 2021r3.1 and the upcoming 2023r1
And again I would do the last effort, converting API1 to API2. This one can be a bit harder for some people. “RealBasic” changed a lot to the current Xojo.
Anyway, soon (Few years? Few months?) you will need to go this route. Microsoft will start breaking old things and at some point you could be affected. And if you need DB connections, you probably are already affected.
It depends what tech your app uses and what it stopping it running on W10 (I assume the client has tried). It might just be a case of installing the correct windows runtimes. If you do need to move to a newer version, use 32bit only and steer clear of 64bit if you’re using declares with structures due to some heinous almost 5 year old bugs.