To run a 16 bits application on a Windows 7 64 bits OS

Hi!

My customer has an old 16 bits software. It usually runs in Citrix, but now they want to install it directly on the computers.
What is the best solution?

I've told the customer that 64 bit OS doesn't support 16 bits software. Then they say; Just downgrade to 32 bits OS on the computers that will run this 16 bit software.
In my head, that isn't a solution I will recommend.

The reason they want to install the 16 bit sotware on the computers, is that the Citrix is unstable.
The whole computer environment is based on 64 bits architecture.
Kenneth SkogstrandOperation and Maintenance IT ConsultantAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Thomas_L_MTLCommented:
I've had some luck with running a Virtual XP OS. Microsoft has a free Virtual XP image available for download. Depending on the type of software you may need to disable the integration between the Virtual PC and the Host OS (USB ports, network, Copy & Paste). This has worked for a couple of our older softwares, but one which is reliant on screen resolutions is problematic.

http://windows.microsoft.com/en-ca/windows7/install-and-use-windows-xp-mode-in-windows-7
Tony JohncockLead Technical ArchitectCommented:
Seriously...downgrade the OS was the option they gave you? So you cripple things like the amount of available RAM?

I'd start by trying to determine why it's so unstable on Citrix for two reasons. Firstly it may be the app itself and then it's likely no better on the local client. Secondly you may just get it reliable.

Now assuming you have tried, I'd actually suggest that using a VM would be better such as XP mode (although this may still be 64 bit) or VirtualBox.

Another thing to consider may be trying to virtualise the app but that's a whole new world of pain and complexity.

Is there absolutely no alternative to the app in question?
Amitabh SinghAWS Certified Solution Architect | L3 IT Specialist for CloudCommented:
16 Bit applications are mostly DOS compatible, and since Windows doesn't emulate DOS, it wont work on Windows x86 or Windows x64.

Refer : https://support.microsoft.com/en-us/kb/896458

To run DOS applications, you can use an emulator, and the best out there is DOSBOX:

Refer : http://www.dosbox.com/
The 7 Worst Nightmares of a Sysadmin

Fear not! To defend your business’ IT systems we’re going to shine a light on the seven most sinister terrors that haunt sysadmins. That way you can be sure there’s nothing in your stack waiting to go bump in the night.

Tony JohncockLead Technical ArchitectCommented:
That is a somewhat spurious and pointless response - all the URL you have provided does is explain what is already known - that to run 16 bit applications you need a 32bit version of Windows.

What the OP was asking was for a way to get a 32bit OS (or environment) into their 64bit versions of Windows, since reinstalling across the board to 32bit would be a big step backwards and one they are understandably not willing to make.

Nor is there _any_ reference in the link you provided to 16 bit applications not working on Windows x86. Quite the opposite.
Thomas_L_MTLCommented:
16 bits apps have a tendency to grab 100% of the CPU while newer apps don't. This is the primary reason why 16 bit apps are not considered Citrix friendly.

FYI: the DocBox solved my last issue with our old apps. Its not the most user friendly option but works.
it_saigeDeveloperCommented:
@Amitabh - With respect, Windows does not need to *emulate* the DOS Environment because DOS is already there.  While the kernel of the Windows operating system itself is no longer *wholly* dependent on DOS for disk based operations, the command line processor is still (for all intents and purposes) just DOS.  Microsoft had to do it this way so that there would be backwards compatibility.  What prevents the user from using 16-bit applications on a 64-bit computer is something entirely different.

Your statement is basically the same as saying Ubuntu does not emulate Linux, in order to use Linux applications on Ubuntu, you have to use a Linux emulator.

-saige-
David Johnson, CD, MVPOwnerCommented:
I've had some luck with running a Virtual XP OS. Microsoft has a free Virtual XP image available for download Only available for windows 7 Pro and higher
David Johnson, CD, MVPOwnerCommented:
DOS and the ntkernel are entirely different from many standpoints and your comparison with ubuntu and linux are comparing apples and oranges when one compares dos to linux and ubutntu to the ntkernel. All versions of linux (ubuntu/centos/redhat and others) use the same kernel. Just because command run the same (as far as the user is concerned) in both command.com and cmd.exe it doesn't mean they both run the same.  DOS runs using interrupts (http://www.shsu.edu/csc_tjm/spring2001/cs272/interrupt.html) notably using int 13h.  The nt kernal does not use in 13h but passes the information to a device driver instead
https://en.wikipedia.org/wiki/INT_13H
Tony JohncockLead Technical ArchitectCommented:
Perhaps we could stay on topic?
it_saigeDeveloperCommented:
While I concur with staying on topic, I just want to make a clarification.

@David - The NT Kernel uses 13H (which is a BIOS interrupt) for disk based operations (if you recall in my post, I mentioned this without going into any detail whatsoever); e.g. -
While the kernel of the Windows operating system itself is no longer *wholly* dependent on DOS for disk based operations, the command line processor is still (for all intents and purposes) just DOS.
Also my comparison with DOS/Windows was not meant to be a direct comparison with Linux/Ubuntu.  It was a figurative comparison, not literal.

-saige-
dbruntonQuid, Me Anxius Sum?  Illegitimi non carborundum.Commented:
Summary:

If it is a 16 bit DOS application investigate either DOSBox as recommended by Amitabh Singh above or better still look at vDos http://sourceforge.net/projects/vdos/ which is much easier to setup and use.

If it is a 16 bit Windows application you'll need either to go to 32 bit Windows or run it in a virtual machine such as XP mode.

>>  16 bits apps have a tendency to grab 100% of the CPU

There are utils out there that take care of this problem.  Do a search for DOSIDLE.
Mal OsborneAlpha GeekCommented:
Downgrading all computers to 32 bit is an interesting suggestion, pretty sure if you quote the customer on the time and $$s required he would change his mind quickly.

Running a second OS in a VM on each box is a possible solution, but a little messy. Password changes can be problematic.

How about rebuilding the Citrix box, or dropping in a 32 bit Terminal server, just for that one app?
Tony JohncockLead Technical ArchitectCommented:
I suspect some things are being overlooked and ignored here so to get back on track:

1) The OP never mentioned DOS. The question related to running 16-Bit applications;

and

2) Considering that they already deliver the problematic applications via Citrix, this suggests they already have and indeed the apps run inside a 32bit version of Windows Server on a 32bit version of Ctrix XenApp of some flavour;

3) Suggestions to run things like DOSBOX are, I would suggest, as helpful as the suggestion to revert the desktop OS to 32bit purely from a manageability and user training perspective and also, see point 1 above.;

So I would suggest that the only viable options here are:

1) My personally favoured option: investigate what is causing the instability. Is this down to the Citrix environment or is the application simply inherently problematic. Try installing a single 32bit OS somewhere to compare. If it's the former, it may be easier to rebuild a scratch Citrix server purely for the problematic app or to troubleshoot said server. If the latter then there's not much can actually be done and moving away from the existing implementation won't actually fix anything;

2) Downgrade all the users to 32bit Windows. Costly, loses the benefits of the hardware. Overkill to the extreme;

3) Virtualise an OS via something like VirtualBox, VMware Wortkstation or the embedded XP; The first and last are free but again may lead to the need for user training.

Of course, ultimately, the single best option would be a more modern version or variant of the application but this may simply not be possible for many reasons.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Kenneth SkogstrandOperation and Maintenance IT ConsultantAuthor Commented:
Hi,

and thanks for the feedback! :)

I will take your suggestions back with me and consider what will be the best solution.
I am also checking out how I can maybe virtualize the 16 bit application.
Probably with using VMWare or VirtualBox.
That way I can run our standard W7 64 bits OS image on the machines, install VMWare or VirtualBox, and then run a VM with W7 32 bits OS and install the 16 bit application on the VM.

How does that sound? :)
Question: Does the VM need to be joined to a domain. Does that depend on the application itself whether the VM needs to be joined to the same domain as the physical mackine (HOST)?

Best regards,
Kenneth Skogstrand
Mal OsborneAlpha GeekCommented:
Might be best to avoid joining the VMs to the domain, if possible. Last site I had VMs on was fraught with problems where users reset their password on the host, and were locked out by the logged in VM instance. It also means twice the machines to look after, and keep updated and virus free, a heap more IP addresses used by your DHCP server etc.
marsiliesCommented:
Does the 16-bit application need network/internet access? If so, you should probably join the VMs to the domain. As Malmensa points out, you're basically doubling the number of "machines" to look after, although the 32-bit OS VM could be locked down to only run that one app. See Assigned Access, aka "kiosk mode", for Windows 8.1 /10
http://www.howtogeek.com/173562/how-to-easily-put-a-windows-pc-into-kiosk-mode-with-assigned-access/
http://www.winbeta.org/news/setup-assigned-access-windows-10-kiosk-mode

If the 16-bit application doesn't need network access, just needs to run, then you can leave the VMs off the domain and remove their network access.


Also, has anyone looked into getting an updated version of the 16-bit application, or moving to using a different, newer program? If it's 16-bit, it's likely nearly 2 decades old at this point, and probably unsupported by the original vendor. Migrating to a new application is likely the better long-term solution.
Jackie ManIT ManagerCommented:
Sorry for my jump into this question as I have it a bit interesting and challenging.

My two cents are as follows:

Try to capture the 16 bit app using cameyo on a winxp pc and use the output exe file to run on the 64 bit OS.

Source:  http://www.edugeek.net/forums/thin-client-virtual-machines/61620-cameyo-like-vmwares-thinapp-but-completely-free-4.html
Tony JohncockLead Technical ArchitectCommented:
Jackie Man. From your URL, the very second posting:

...It does not package up/emulate the APIs so the OS itself still needs to be able to run the program for it to work. There are other solutions like Microsoft App-V that can give you some of these features but they are heavier and cost...
HuaMin ChenProblem resolverCommented:
Hi,
You can set up Windows 7 (32-bit version) to run such old software.
Tony JohncockLead Technical ArchitectCommented:
Good answer, HuaMinChen. Now perhaps you'd like to read both the question and some of the comments?
Kenneth SkogstrandOperation and Maintenance IT ConsultantAuthor Commented:
Thanks again for all the feedback I got on this question!

Also sorry for not responding in time. My apologies.

Solution: The customers application management departement, after I told the customer about alle the downsides of making an 32 bits OS, worked out a solution the customer felt OK about.
They still run the 16 bit application on Citrix, and found a way to satisfy the customers needs - until the customer will migrate to another version, or a completly new software/application - within a year.

Best regards,
Kenneth Skogstrand
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows 7

From novice to tech pro — start learning today.