Converting From Windows

We have a suite of programs that has been used successfully under Windows 95/98 and most recently under Windows XP.
We are now forced to a Major re-Write. The Model was always intended for small businesses, with les than 16 terminals, and Security being provided on these terminals by Purpose Built Security Models. (All Terminals, running our Software MUST run in Windows Administrator Mode)The OS Security Models imposed by the later versions of Windows, (which are Less than Usefull and tended to break our App) caused the First review. Our Current Database System is based on Direct File Sharing. between all Apps on the Network. This worked quite well under Win98 and WinXP. but gives rise to several issues under Vista and Win7.
We have decided that a Full Re-Write is warranted, primarily to migrate to a server-Client Base Model. The Original Version was written in MFC42., using VC 5.00 and MF DevStudio 97. (Considered Old, but, to this day, it has never been found wanting)
In Short, we had a a successfull product, but Microsoft decided to pull the rug, by changing the OS.

I have a substantial Code Base. There will also be many nescessary changes by the change in DB Access Model.
Combined with this is, that we do not want to change the End User Interface as far as is possible.

-What is the Shortest learning Curve to transfer to Linux
-What would be the Best way, where it conflicts with the above.

Regards,
Bram,
bramvankampen@aol.com
:slight_smile:

Ok, I have to assume from what you’ve said re; the UI you would modify your existing code on Windows to make a new Windows “client” devoid of data and core logic, this keeping the current look and retaining the ability to run on Windows.

I would then have to assume that the shortest path to a client server model would be to again modify the current application to act as a server for the new client software - hopefully it would simply be a case of adding remote connectivity to the application’s pre-existing abilities with regards to business logic and data handling.

In which case (!), run the new server software on WINE, and you’d have the desired solution in the time you would’ve spent anyway + 1 day.

If you wanted to do a “proper” job re; a Linux migration you’d lose the current “look”. Method would be to re-implement the data-handling and business logic in PHP / MySQL, then stick a UI on the front end - I’d be using something like ExtJS … at which point your application is Operating System independent and you can run it on whatever you want …

Take a look here re; web based UI’s with ExtJS …

Thanks, you are very helpfull.

(Trying to get to grips the Editor, Was looking for ‘Quote Selected Text’ As I Cannot Find such thing, I’ve Ittalisize your Text.)

[i]Ok, I have to assume from what you’ve said re; the UI you would modify your existing code on Windows to make a new Windows “client” devoid of data and core logic, this keeping the current look and retaining the ability to run on Windows.

I would then have to assume that the shortest path to a client server model would be to again modify the current application to act as a server for the new client software - hopefully it would simply be a case of adding remote connectivity to the application’s pre-existing abilities with regards to business logic and data handling.[/i]I

Well, you got that in One!

in which case (!), run the new server software on WINE, and you’d have the desired solution in the time you would’ve spent anyway + 1 day.

Do I understand Correctly that WINE enables any windows program to run on a Linux Computer? If so, what Version of Windows does WINE Assume. What about Security. Our current software runs to perfection on XP which each machine in Admin Mode. We have never had any ‘Security’ issues with this. If there is a WINE/Linux Combination that gives the reliability of XP with NTFS, and No enforced Security policies, that would be an ideal short term solution for us.

If you wanted to do a “proper” job re; a Linux migration you’d lose the current “look”. Method would be to re-implement the data-handling and business logic in PHP / MySQL, then stick a UI on the front end - I’d be using something like ExtJS … at which point your application is Operating System independent and you can run it on whatever you want …

Ill’ explain a bit further.
Our Apps comprises software that acts as Cash Register, Production Facilitation, and Management Reporting facilities for any Service Industry, where:-

  • Customers Leave In Items for Service
  • Each Customer gets back the Very same Item after the Service is Applied(a Different but Similar One Not Acceptable)

The above applies to: Shirt Services, Laundrettes, Drycleaners, Shoe Menders, and a few others

In Short, After the service, a Customer gets his Own Shirt, Suit, Shoes back, and Not Shoes/Shirt or Suit the Same Make, Model and Size, left in by someone else. (That’s what’s being Strived for anyways, admittedly, sometimes that fails).

The businesses are typically Small. Typically Owner Managed. Our Largest customer has 5 Terminals.(The Software has a max of 16)

The Computers are Not attached to the Internet.

The Staff employed are generally totally ‘computer illiterate’ when recruited, and get trained on using the system.

The System uses it’s own internal Security System. Whereas we do not claim that it is ‘Un-crackable’, no significant incident that we know about has ever occurred sofar.

Well CPP/MFC is the language in which we have invested. We have No ‘PHP/(My)SQL’ experience in our shop. Is there a CPP Library, and a Native GUI to Linux that can be used. (Idealy supported by something like DevStudio) When I suggested something like ’ we do not want to change the End User Interface as far as is possible’, there are no objections to ‘Artistic’ changes, (Different Button Shapes and Colours, Different Graphic Styles, etc, Microsoft has changed these things between the various Versions anyways, the main thing is a Consistent User Interface) .

We do not display Graphics, Show Films, Send E-Mails, Play Games, Nor do we use things like Active X, or Dynamic Objects. We do not use Multiple, or even Single Documents. All our Apps are Dialog based, and only Long Searches are Multithreaded.

Another important issue is that we licence the Software per Hard Disk it is installed on. I understand that PHP is an interpreted language, compiled into an intermediate language. What is to stop an enterprising individual from de-compiling the intermediate code, and leaving out the ‘Licence’ Stuff.

I’ve learned that Linux comes in many ‘Flavours’ by many Suppliers, both Free and commercial. Are there any other forums more suited to the questions I asked, or am now asking.

Kind Regards, and Thanks again,

Bram :slight_smile:

The “quote” button is on the top right of the post where the title, etc is. Or you could write

<blockquote>text here</blockquote>

WINE (Wine Is Not an Emulator) - Enables some Windows programs to be ran on a Linux Computer, and making it work sort of “natively”. Check out the database for a whole list of programs that have been tested.

Click here for database

WINE will allow these versions of Windows:

Windows 2.0
Windows 3.0
Windows 3.1
Windows NT 3.5
Windows NT 4.0
Windows 95
Windows 98
Windows ME
Windows XP
Windows Vista
Windows Server 2003
Windows Server 2008
Windows Server 2008 R2
Windows 7

There are a couple of downfalls with WINE though, if programs that run on Vista or higher and need to be ran in admin mode, will most probably not work, which is why you should run them on XP or lower. Wine will also run the programs on the Linux file system so NTFS isn’t need. There are many file systems to choose from in Linux, EXT2 being the most throughly tested and securest. EXT3 is next and then EXT4 which is still being throughly tested and is experimental. Don’t expect the programs to be as “fast” as they would be in Windows when ran in wine, although they won’t run all that much slower, it won’t be optimal performance.

Hope this answers that question.