This post is just a theory and it not worked for me

What are steps needed to run AOE (Age of Empires) on Linux?

NEWER STEPS:

A) sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install wine wine winetricks playonlinux --install-recommends && playonlinux
B) sudo apt install wine wine32 winetricks playonlinux --install-recommends && playonlinux

click Install / Install non-listed program (if not listed) / into new prefix, likely 32bit prefix for old app? / command line may tell to execute:
sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install wine32
which is like 700MB of additional data in my case.
I have selected apps setup.exe file, not just virtual CD drive item (which appeared after i have mounted .iso image using Disks GUI utility of the Linux)
Installation of the game went OK (despite some errors on CLI and error in Wine GUI: Error in POL_Wine Wine seems to have crashed ). I selected AOE setup menu and exit as i read one should not click to attempt launch app from within installer.
Then i click Next in wine/playonlinux installer. Created link for empires2.exe only.
Then i try to run newly installed ap in playonlinux, result:
wine: Unhandled page fault on read access to FFFFFFFF at address 0040AAAD (thread 0009), starting debugger...
Unhandled exception: page fault on read access to 0xffffffff in 32-bit code (0x0040aaad).
I click Configure (the game) in playonlinux, install components, like directx and such mentioned here
I run winetricks command from command line and click "Select the default wineprefix", quit
Still crash on start as mentioned above.

OLDER STEPS:

So far my first step would be to install wine:

sudo apt-get install winehq-staging winetricks playonlinux libgl1-mesa-glx:i386 libgl1-mesa-dri:i386 libtxc-dxtn-s2tc:i386
Without *dxtn* package, Wine may show kind of error when launching AOE:
fixme:d3d:wined3d_dxtn_init Wine cannot find the txc_dxtn library, DXTn software support unavailable.
It can also say:

err:module:import_dll Library DPLAYX.dll (which is needed by L"C:\\AOE2\\Age Of Empires 2 CZ!!!!\\age2_x1.exe") not found

err:module:LdrInitializeThunk Main exe initialization for L"C:\\AOE2\\Age Of Empires 2 CZ!!!!\\age2_x1.exe" failed, status c0000135
There it is complaining about missing component - DIrectPlay, open "winetricks" app and "Install a Windows DLL" select DirectPlay. (maybe command "winetricks directplay" would do also)

Then installing DirectX to play Windows games on Linux may be handy. Command:

winetricks directx9
Launching the Age of Empires game on Linux would be done by command "wine /full/path/to/aoedirectory/nameofthe.exe"

I mounted AOE III .iso using Furius ISO Mount Tool and then autorun.exe launched installer, though it was unable to accept the product key saying: "Error loading the PID generator DLL"

When i ran command "winetricks -q mfc42" and retry submitting key, it worked.

But then the installer said: "Feature transfer error: Error: -1603 Fatal error during installation.
Consult Windows Installer Help (Msi.chm) or MSDN for more information.

SOME MORE POSSIBLE ISSUES:

0009:err:module:__wine_process_init failed to load L"abc.iso", error c000012f
This one can mean unsupported file type, bad file.

0026:err:module:__wine_process_init L"F:\\SETUP.EXE" not supported on this system
This one may mean that app is for example 32bit and you are running 64bit software on your host operating system Linux.
This may help on Debian/Ubuntu (was suggested by playonlinux at some point in time): sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install wine32

Wine prefix 64 may show error:

[POL_Wine] Message: Running wine- /media/user/AOE2/AOESETUP.EXE (Working directory : /)
[POL_Wine] Message: Notice: PlayOnLinux deliberately disables winemenubuilder. See http://www.playonlinux.com/fr/page-26-Winemenubuilder.html
[POL_Wine] Error: Wine seems to have crashed

If your program is running, just ignore this message
002b:err:ole:CoGetClassObject class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered
002b:err:ole:CoGetClassObject no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1
002e:err:ole:CoGetClassObject class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered
002e:err:ole:CoGetClassObject no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1
002b:err:ole:CoGetClassObject class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered
002b:err:ole:CoGetClassObject no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1
002b:err:ole:CoGetClassObject class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered
002b:err:ole:CoGetClassObject no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1
0034:err:ole:CoGetClassObject class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered
0034:err:ole:CoGetClassObject no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1
0036:err:ole:CoGetClassObject class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered
0036:err:ole:CoGetClassObject no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1
003c:err:ole:CoGetClassObject class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered
003c:err:ole:CoGetClassObject no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1
003f:err:ole:CoGetClassObject class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered
003f:err:ole:CoGetClassObject no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1
0041:err:ole:CoGetClassObject class {bcde0395-e52f-467c-8e3d-c4579291692e} not registered
0041:err:ole:CoGetClassObject no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1
wine: Unhandled division by zero at address 0041064D (thread 0033), starting debugger...
0033:err:seh:start_debugger Couldn't start debugger L"winedbg --auto 42 196" (2)
Read the Wine Developers Guide on how to set up winedbg or another debugger
and 32 prefix not show it:

No sound card message not appeared like on 64 prefix (see screenshot), and installer shown disk space figures and no errors above

Anyway despite installer finished, the PlayOnLinux shown again: Error in POL_Wine Wine seems to have crashed
CLI shown: If your program is running, just ignore this message
0055:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\ Services\\Secdrv": c0000001
so i clicked Next anyway and file for shortcut selected Empires2.exe and then I dont want to make another shortcut and then upon launching the shortcut failed:
Unhandled exception: page fault on read access to 0xffffffff in 32-bit code (0x0040aaad).
CLI: wine: Unhandled page fault on read access to FFFFFFFF at address 0040AAAD (thread 0009)