Jump to content
Gary

VM and Legacy apps

Recommended Posts

Hello all,

 

I am going to do a clean install of Delphi but don't want to install all the old components that I no longer use. I still need them to support legacy apps, so want to try loading up a VM with those components. 

What are you using for VM, and what settings work best?

My current Machine:

11th Gen Intel(R) Core(TM) i7

32 GB Ram

1 TB SSD

Windows 11

Delphi 11.2

 

I would also like to run it on an older laptop

10th Gen i7

16 GB Ram

1 TB SSD

 

Or is there a better way to support old apps that use components who's license has expired?

Share this post


Link to post

I made an Image with W10 64bit, with VM Workstation Pro, with 8GB RAM, 250 GB Harddisk and 4 CPU cores. That runs well enought

  • Like 1

Share this post


Link to post

at general, VM's problem is:

  1. any specific external hardware access
  2. any specific graphical usage
  3. as all is "simulated on memory"
Edited by programmerdelphi2k

Share this post


Link to post

I do all of my Delphi development inside of VirtualBox on a Mac. I used Parallels for a while, but they switched to a semi-subscription model where they forced you to buy an upgrade every time your OS changed, which was usually every year. I switched to VMWare Fusion, which had much longer paid refresh cycles. I like it, but went to work at a place where they used Oracle's VirtualBox, which was free and open-source, and have been using that now for several years. It gets updated regularly and handles everything I need.

 

The only thing to really watch out for isn't the VM per se, but the Windows registration mechanism that can be annoying if you want to make several copies of a VM to host different versions of Delphi (or whatever) for historical needs. After not using one of these VMs for a while, MS will require you to re-register the OS or it will get very annoying. 

 

This is especially problematic if you upgrade a VM b/c the Windows installation will think you just replaced the hardware and want you to re-register it. So don't upgrade / update your historical VMs that are just there for backups.

  • Like 1

Share this post


Link to post

@Gary 
>> don't want to install all the old components that I no longer use. 
>> I still need them to support legacy apps, so want to try loading up a VM with those components. 

How will you support the legacy apps?  Will you have a version of Delphi installed in the vm, along with the "old" components?  Or...?


>> better way to support old apps that use components who's license has expired? 

Many Delphi 3rd-party components come with a perpetual license.  What usually expires is the update and support period.  Are your licenses truly "expired", or are you perhaps misunderstanding the licensing terms?  

Share this post


Link to post

I have been using VirtualBox for almost 10 years, always a clean install of Windows with a single version of Delphi per VM.  I use a shared folder with the host for all the source, only the host talks with the repos.  Delphi versions like 10 to 11 are always a new VM (enterprise lic for Windows) with a new repo chain for testing builds on a new version, just in case.  I do make monthly backups of the VM images and use the CloneVDI tool to compact the image/drive to save space on the host.  And I never use the VM's to access the internet outside of Windows updates and trusted 3rd party update tools that require access from the installed VM.  Make sure you do not let your anti-virus scan the holder were the VM images live.  This makes laptop replacement easy and with a couple of hand tweaks to the vbox file they can run (not at the same time) on my Linux machine if needed.  I run multiple VM's all day long; dev and SQL VM with services to simulate the user environment.

  • Like 1

Share this post


Link to post

What do you see as the important hardware requirements for running a VM smoothly (including all the Hyper-xXx stuff)?

 

I have used VirtualBox for other scenarios but never to code in. On my machine I found that hosting a Windows 10 VM to be unusable; jerky and slow. I have more than enough RAM but I suspect my PC does not meet the requirements otherwise.

Share this post


Link to post
4 minutes ago, PeaShooter_OMO said:

I have used VirtualBox for other scenarios but never to code in. On my machine I found that hosting a Windows 10 VM to be unusable; jerky and slow. I have more than enough RAM but I suspect my PC does not meet the requirements otherwise.

Try to connect to that virtual machine via Remote Desktop rather than using the console. This might solve some of these problems.

  • Thanks 1

Share this post


Link to post
4 minutes ago, dummzeuch said:

Try to connect to that virtual machine via Remote Desktop rather than using the console. This might solve some of these problems.

Is that how you use your Delphi VMs in general or is that just a possible workaround for a slow/incompatible host?

Edited by PeaShooter_OMO

Share this post


Link to post

I am using both mechanisms (depending on whether I am using a Mac or the Windows PC they run on directly) and found it to be of little difference.

 

I am running Delphi 10.0 in a VM with 3 gigabytes of RAM and 2 virtual cores, and Delphi 11.1 in a VM with 4 gigabytes and 3 virtual cores. For me, it's more than sufficient. The VM only does the RAD Studio IDE and Visual Studio Code as the frontend for git. Nothing more.

Edited by Der schöne Günther

Share this post


Link to post
1 hour ago, PeaShooter_OMO said:

Is that how you use your Delphi VMs in general or is that just a possible workaround for a slow/incompatible host?

I rarely use Delphi VMs at all, but those that I do use are running on a Citrix XenServer and must be used via Remote Desktop (or the even slower VNC based remote console of the XenCenter). But my experience with using VirtualBox in general is that Remote Desktop is faster and more convenient than the console. Usually my VirtualBox VMs are run "headless" anyway.

  • Thanks 1

Share this post


Link to post
On 12/27/2022 at 4:11 PM, Tom Chamberlain said:

I have been using VirtualBox for almost 10 years, always a clean install of Windows with a single version of Delphi per VM.  I use a shared folder with the host for all the source, only the host talks with the repos.  Delphi versions like 10 to 11 are always a new VM (enterprise lic for Windows) with a new repo chain for testing builds on a new version, just in case.  I do make monthly backups of the VM images and use the CloneVDI tool to compact the image/drive to save space on the host.  And I never use the VM's to access the internet outside of Windows updates and trusted 3rd party update tools that require access from the installed VM.  Make sure you do not let your anti-virus scan the holder were the VM images live.  This makes laptop replacement easy and with a couple of hand tweaks to the vbox file they can run (not at the same time) on my Linux machine if needed.  I run multiple VM's all day long; dev and SQL VM with services to simulate the user environment.

And how do you manage with delphi licence?

Share this post


Link to post

@jonnyg You're correct, I should have been clearer. I just run the latest version of Delphi but have some components that the update has expired as well as open-source components I no longer use. I did buy a Windows 11 license and install Delphi and the needed components to support my old app. All seems to work well. The only problem I have had is the VM will lock up at times requiring a reset.

Share this post


Link to post

try to do a "snapshot" before quit!

  • My Win7 installation with "only" Windows 7 files - none other software installed
    • each "snapshot" take +/-200MBytes + VDI file datas (?? MBytes)
Edited by programmerdelphi2k

Share this post


Link to post
16 hours ago, Oberon82 said:

And how do you manage with delphi licence?

We have named user license for Delphi and never run the same VM twice.  A Delphi license is only installed on one VM used by only the one named user.  We (there are only 2 of us) each keep a Windows 10 VM with Delphi 10.4 and another VM with Delphi 11.2.  In the event there is a problem with our dev machine we restore the backup copy of the VM to another machine and fire it up.  It is still the same VM and license, we treat them just like physical machines.

Share this post


Link to post
1 hour ago, Tom Chamberlain said:

We have named user license for Delphi and never run the same VM twice.  A Delphi license is only installed on one VM used by only the one named user.  We (there are only 2 of us) each keep a Windows 10 VM with Delphi 10.4 and another VM with Delphi 11.2.  In the event there is a problem with our dev machine we restore the backup copy of the VM to another machine and fire it up.  It is still the same VM and license, we treat them just like physical machines.

A simple option would be to have "network named user" licenses and run your own license server.

Share this post


Link to post

I used to use VMWare for Workstation on Windows years ago, but haven't looked back after switching to Hyper-V, running Windows 11 in the VMs.

I use Parallells on my MBP M1, running Windows 11 for ARM in the VMs.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×