26

I am trying to install Sheridan controls (ActiveThreed 2.01) on Win7 64-bit, but evidently it is a 16-bit installer so it won't execute.

What would be the best way to get round this problem?

Error message

Can anyone comment on whether http://homepage3.nifty.com/takeda-toshiya/msdos/index.html would be helpful?

Mogsdad
  • 44,709
  • 21
  • 151
  • 275
CJ7
  • 22,579
  • 65
  • 193
  • 321
  • The controls seems to be 32bit and outdated... – Martin Samson Feb 02 '12 at 03:43
  • @MartinSamson: see screenshot above. I believe this error occurs when a 16-bit program attempts to execute in Win7. – CJ7 Feb 02 '12 at 03:48
  • Yup. I've quickly googled for ActiveThreed and saw some 32 bit ActiveX . As Cody Gray is saying, you should probably upgrade the application requiring the controls OR run an older windows OS in a virtual machine. – Martin Samson Feb 02 '12 at 03:51
  • See also [this question](http://stackoverflow.com/questions/8210553/vb6-application-on-a-64bit-machine) – JimmyPena Feb 03 '12 at 00:14
  • @JP.: I've removed the vb6 tag you added, because it actually has nothing to do with vb6. It's just a 16-bit installer trying to install on 64-bit Win7. – CJ7 Feb 03 '12 at 01:43
  • My bad. I assumed VB6 because most of your questions lately have been VB6-related, and you did mention VB6 in your comment to Cody Gray. – JimmyPena Feb 03 '12 at 01:53
  • @linquize: you mean the XP Mode virtual machine? No thanks. I want it in Win7. – CJ7 Feb 23 '12 at 06:32

7 Answers7

33

It took me months of googling to find a solution for this issue. You don't need to install a virtual environment running a 32-bit version of Windows to run a program with a 16-bit installer on 64-bit Windows. If the program itself is 32-bit, and just the installer is 16-bit, here's your answer.

There are ways to modify a 16-bit installation program to make it 32-bit so it will install on 64-bit Windows 7. I found the solution on this site:

http://www.reactos.org/forum/viewtopic.php?f=22&t=10988

In my case, the installation program was InstallShield 5.X. The issue was that the setup.exe program used by InstallShield 5.X is 16-bit. First I extracted the installation program contents (changed the extension from .exe to .zip, opened it and extracted). I then replaced the original 16-bit setup.exe, located in the disk1 folder, with InstallShield's 32-bit version of setup.exe (download this file from the site referenced in the above link). Then I just ran the new 32-bit setup.exe in disk1 to start the installation and my program installed and runs perfectly on 64-bit Windows.

You can also repackage this modified installation, so it can be distributed as an installation program, using a free program like Inno Setup 5.

Betty N
  • 339
  • 3
  • 4
  • Great! I spent a lot of time trying to install my scanner on 64-bit Win7, even installed it in virtual machine and used special software to track registry changes, and this all did not help! And now it works perfectly! – Anixx Apr 19 '14 at 02:57
  • Another good summary on how to do that: http://blog.ryankempt.com/2013/12/64-bit-windows-unsupported-16-bit.html; another download link for the setup files is http://toastytech.com/files/setup.html – mthomas Dec 05 '16 at 09:38
  • Thanks you so much. I might add that the installer (v3) was still complaining about missing files until I changed compatibility mode to Windows 95 and set it to run as administrator. – mickadoo Jan 25 '17 at 12:00
  • This helped me today with Print Shop 6 from Broderbund (1998). The installer was InstallShield 3. Thank you so much for the link! – A.Konzel Sep 30 '17 at 17:05
  • Thank you, exactly the advice my emergency needed. – AlanK Feb 10 '23 at 05:26
7

You can't run 16-bit applications (or components) on 64-bit versions of Windows. That emulation layer no longer exists. The 64-bit versions already have to provide a compatibility layer for 32-bit applications.

Support for 16-bit had to be dropped eventually, even in a culture where backwards-compatibility is of sacred import. The transition to 64-bit seemed like as good a time as any. It's hard to imagine anyone out there in the wild that is still using 16-bit applications and seeking to upgrade to 64-bit OSes.

What would be the best way to get round this problem?

If the component itself is 16-bit, then using a virtual machine running a 32-bit version of Windows is your only real choice. Oracle's VirtualBox is free, and a perennial favorite.

If only the installer is 16-bit (and it installs a 32-bit component), then you might be able to use a program like 7-Zip to extract the contents of the installer and install them manually. Let's just say this "solution" is high-risk and you should have few, if any, expectations.

It's high time to upgrade away from 16-bit stuff, like Turbo C++ and Sheridan controls. I've yet to come across anything that the Sheridan controls can do that the built-in controls can't do and haven't been able to do since Windows 95.

Cody Gray - on strike
  • 239,200
  • 50
  • 490
  • 574
  • 1
    Points taken, but maintenance of this VB6 product is unavoidable. It would also be costly in man-hours to replace the Sheridan controls with native ones. Simply developing on a 32-bit machine would be a better alternative than doing that. I would like to install everything on Win7 64-bit ideally. – CJ7 Feb 02 '12 at 03:51
  • 1
    That's the kind of cost-benefit analysis that inevitably turns companies into dinosaurs. Make sure this company doesn't drag you into that abyss as well. – Hans Passant Feb 03 '12 at 00:25
  • 1
    @HansPassant: In defence, there is a project running simultaneously to rewrite the product. – CJ7 Feb 03 '12 at 01:32
3

I posted some information on the Infragistics forums for designer widgets that may help you for this. You can view the post with the following link:
http://forums.infragistics.com/forums/p/52530/320151.aspx#320151

Note that the registry keys would be different for the different product and you may need to install on a 32 bit machine to see what keys you need.

Cody Gray - on strike
  • 239,200
  • 50
  • 490
  • 574
alhalama
  • 3,218
  • 1
  • 15
  • 21
  • 1
    I got it working by installing on 32-bit and then copying the sheridan registry key over to the 64-bit machine. – CJ7 Dec 26 '12 at 01:56
1

I am mostly posting this in case someone comes along and is not aware that VB2005 and VB2008 have update utilities that convert older VB versions to it's format. Especially since no one bothered to point that fact out.

Points taken, but maintenance of this VB6 product is unavoidable. It would also be costly in man-hours to replace the Sheridan controls with native ones. Simply developing on a 32-bit machine would be a better alternative than doing that. I would like to install everything on Win7 64-bit ideally. – CJ7

Have you tried utilizing the code upgrade functionality of VB Express 2005+?

If not, 1. Make a copy of your code - folder and all. 2. Import the project into VB express 2005. This will activate the update wizard. 3. Debug and get the app running. 4. Create a new installer utilizing MS free tool. 5. You now have a 32 bit application with a 32 bit installer.

Until you do this, you will never know how difficult or hard it will be to update and modernize the program. It is quite possible that the wizard will update the Sheridan controls to the VB 2005 controls. Again, you will not know if it does and how well it does it until you try it.

Alternatively, stick with the 32 Bit versions of Windows 7 and 8. I have Windows 7 x64 and a program that will not run. However, the program will run in Windows 7 32 bit as well as Windows 8 RC 32 bit. Under Windows 8 RC 32, I was prompted to enable 16 bit emulation which I did and the program rand quite fine afterwords.

j0k
  • 22,600
  • 28
  • 79
  • 90
Scott Tovey
  • 162
  • 3
  • 1
    The number of lines in my program far exceeds the maximum allowed by the upgrade facility in VS2005+. – CJ7 Aug 21 '12 at 05:14
0

I had 32-bit software with a 16-bit installer that I couldn't unzip. I solved it with otvdm which allows you to run windows 1.x, 2.x, 3 programs on win64. In fact, otvdmw allows you to select the program to run (otvdm is command-line).

noein
  • 411
  • 2
  • 10
-1

16 bit installer will not work on windows 7 it's no longer supported by win 7 the most recent supported version of windows that can run 16 bit installer is vista 32-bit even vista 64-bit doesn't support 16-bit installer.... reference http://support.microsoft.com/kb/946765

  • I'm pretty sure half the point of Windows 7 32-bit is that 16-bit programs still work? – SamB Sep 11 '16 at 01:22
-5

Bottom line at the top: Get newer programs or get an older computer.

The solution is simple. It sucks but it's simple. For old programs keep an old computer up and running. Some times you just can't find the same game experience in the new games as the old ones. Sometimes there are programs that have no new counterparts that do the same thing. You basically have 2 choices at that point. On the bright side. Old computers can run $20 -$100 and that can buy you the whole system; monitor, tower, keyboard, mouse and speakers. If you have the patience to run old programs you should have the patience to find what you are looking for in want ads. I have 4 old computers running; 2 windows 98, 2 windows xp. The my wife and I each have win7 computers.

  • 5
    This answer is not constructive. On enterprise systems, you work with what you have. Furthermore, this question was asked 5 months ago and the author has probably either moved on or found a solution. In general, 'get another computer' solutions are quite frowned upon, except in the instances where problems are very clearly caused by hardware trouble. – Wug Jul 16 '12 at 19:19
  • 2
    @Wug: I agree with the first point but not the second. People don't move on from problems so quickly. Sometimes issues are put on the shelf until a solution arrives. – CJ7 Aug 21 '12 at 05:05