Flash end of life

I hope you are right. I don’t know for sure, there is always a risk. If you have downloaded everything you can try, but do not blame me… :smiley:

Is anybody know answer on this question ?

Sorry, meant to update. Found this:-

I hope so too, but we’ll see what happens. Thanks for the quick intervention on the hotfix topic and for describing the solution to the problem. :grinning:

Seems like a lot. I did it like so: In windows 10 there is that little magnifying glass beside the “Start” button in the lower left corner. Klick on it and type “upd” and a program named “search for updates” (“Nach Updates suchen” in my German version) becomes available. This lists only the updates, that are relevant for your version of the OS. And that list should be a lot shorter.

1 Like

thank you for your research!
I develop a lot of clients for sports, based on Caspar and flash templates, the software is installed on several dozen mobile computers, which will represent maintenance work.
I did a lot of testing and read your comments.

I’m only going to talk here about Caspar 2.0.7 (which is a 32-bit application) and which uses 32-bit ActiveX (.ocx) present in C:\Windows\SysWOW64\Macromed\Flash, with Windows 10.

if I understood correctly, this version is updated with Windows Update, and for the latest version (32.0.0.445 for the 32bits version), it contains changes which make it inoperative after January 2021
that’s why you are doing a fix with 2.0.7.1: CasparCG Server hotfix releases for Flash Player end of life

To realize that the templates no longer work with 2.0.7, you just have to change the date on the computer to February 2021 and you have a message in the log,
With 2.0.7 and activeX 32.0.0.445:

[2021-03-10 17:13:31.720] [17444] [info]    flash[cg20.fth.pal|0] Invoking info-command: <invoke name="GetInfo" returntype="xml"><arguments></arguments></invoke>
[2021-03-10 17:13:31.909] [17736] [info]    flash-player[cg20.fth.pal|1024x576] Initialized.
[2021-03-10 17:13:31.909] [17736] [warning] flash-player[cg20.fth.pal|1024x576] Flash call failed:<invoke name="GetInfo" returntype="xml"><arguments></arguments></invoke>

(If you install a 32.0.0.255, it works normally with 2.0.7, because the activeX does not contain the code ‘January 2021’)

This is all due to the change made by Adobe during the Flash Player updates, so that nothing will work normally in January 2021, and with your fixes it will work but I have not yet tested 2.0.7.1

But what Microsoft will do with the KB4577586 update is remove Flash Player from the computer AND modify the registry.
To already apply the patch, you can download and run it (choose the right version according to the computer and run it in Administrator mode)

http://www.catalog.update.microsoft.com/search.aspx?q=4577586

in fact, I tested, when I apply the KB4577586, some files remain in C:\Windows\SysWOW64\Macromed\Flash
but maybe it’s because I ‘manually’ installed these files with an Adobe installer.

The problem is that it destroys information in the registry that Caspar uses to find the ocx
do a search on ‘D27CDB6B-AE6D-11CF-96B8-444553540000’ (the win32 node no longer exists!):

whereas normally:

and Caspar 2.0.7 no longer finds the activeX (same thing with 2.0.7.1) :

[2020-12-11 14:15:18.794] [10112] [info]    Flash ???????O?????7?
[2020-12-11 14:15:18.808] [10112] [info]    flash[cg20.fth.pal|0] Initialized.
[2020-12-11 14:15:18.824] [10112] [info]    flash[cg20.fth.pal|0] Invoking info-command: <invoke name="GetInfo" returntype="xml"><arguments></arguments></invoke>
[2020-12-11 14:15:18.860] [2280]  [error]   producer\flash_producer.cpp(237): Throw in function __thiscall caspar::flash::flash_renderer::flash_renderer(const class caspar::safe_ptr<class caspar::diag
nostics::graph> &,const class std::tr1::shared_ptr<struct caspar::core::frame_factory> &,const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,int,in
t)
Dynamic exception type: class boost::exception_detail::clone_impl<struct caspar::caspar_exception>
std::exception::what: Unknown exception
[struct caspar::tag_msg_info *] = flash-player[cg20.fth.pal|1024x576] Failed to Create FlashAxControl

[2020-12-11 14:15:18.995] [10112] [trace]   Template-Host Unknown

I don’t have control over the machines where Caspar is installed and I think some people will apply the KB4577586 updates which will prevent Caspar from displaying the templates.
To recreate the registry properly (by installing the activeX at the same time), you have to keep official Adobe installers!

image

I believe the KB4577586 also removes the 64bit version of the ActiveX and there is no Adobe installer to re-install the 64bit ActiveX in the C:\Windows\System32\Macromed\Flash folder

(we can also use regsrv32 but it is more technical and can be more complicated for the maintenance of the servers)

Maybe I misunderstood something?

I just reread the post and Didi you say:

The last version of Flash Player allows to specify, that it does not get removed by Windows 10 and also what Flash files can be played. This is done with a simple setting file that needs to be deployed by the user. We currently have the problem, that our way to send template filenames to Caspar is not compatible to this AllowList feature inside Flash.

I have not well understood this aspect.
so it is necessary to take one action to prevent the deletion by the KB4577586 and another action to authorize the version of the activeX with the code ‘January 2021’ to correctly load swf.
I will test
I post anyway, that’s a summary …

That post is not up to date any more. Now we have CasparCG 2.0.7.1 that corrects that problem, and when you install that version and do everything outlined in this post here it will work. This post should also answer most of your other questions.

ok thank you, the link you mentioned is this one ?

when I click on ‘Check Version’, I get this message, it’s not a debug version, but it’s probably because I used Adobe installer.
image
the version information is not written in the mms.cfg?
So I have a mms.cfg file:

AutoUpdateDisable=1
EOLUninstallDisable=1
EnableAllowList=1
AllowListPreview=0
AllowListRootMovieOnly=1
AllowListUrlPattern=file:///C:/CASPAR/CasparCG%20Server%202.0.7.1/templates/

but my templates are in different folders depending on the application. I have at least 10 different folders

C:…\Documents\sportA\templates
C:…\Documents\sportB\templates
C:…\Documents\showTV1\templates
etc …
and I can still create new applications for which I do not yet know the templates folder.

must all be specified in this mms.cfg file?
but it is impossible in my case.
maybe I should write to this file from my application?, but I’m afraid I can’t because folder permissions

damn I’m going to spend a nice month of January to find a solution; =)

It may help you to know, I have sub folders of different football clubs in my Template folder.
The mms file just references the templates file and the sub folders all seem to work.

This is a very simple procedure, that looks for “C:\WINDOWS\system32\Macromed\Flash\Flash.ocx” and if it does not find it display this message. It’s not important if it does not work.

This is NOT how CasparCG is meant to work, and never was. The idea has always been, that templates are in the template-folder or in sub-folders of it and NOT spread around the system. So you should move them into the template-folder and everything is well.

The good thing is then, that your application does not need to know the actual path to the template folder, but can call a template like "BASKETBALL/SCOREBOARD" on any system, you can even hard code that into your application if you want, and if works wherever the template folder is, as long as the casparcg.config <template-path> entry points to it. As this is the folder put into the mms.cfg AllowListUrlPattern entry all will run smooth.

Another good thing with this is, that it run the same way, when you connect to a remote CasparCG server via TCP/IP. Because this server knows where it’s template folder is a command to play "BASKETBALL/SCOREBOARD" will still work. So by doing what you do you loose one of the biggest advantages of Caspar.

You will say: “But I can not auto install templates that way.” That is not true, as you can find the path to the template folder using the INFO PATHS comand.

Hello Everybody, recently I’ve been searching on the internet for a solution as we use casparcg templates in many of our systems. As I can understand , this solution works only for systems already running and not for new ones to be created after January 2020, am I right? So if I want to make a new system after Flash EOL can I install Flash player on the new system?

I did not research that, but I think part of the answer is in the post @molecule made further up. It sure is a good idea to download an installer and keep it at a safe place. As far as I understand the whole thing if you put the mms.cfg in

C:\Windows\SysWOW64\Macromed\Flash and C:\Windows\System\Macromed\Flash

with the lines:

AutoUpdateDisable=1
EOLUninstallDisable=1

It will stay there, also when you install by installer or manually registering it. But I did not test that. But probably anybody has already tried that?

The issue is that currently all the installers that adobe provides, are online, they removed all the offline installers links from Adobe’s website. I dont know if you keep the 11.8 that was provided in the CasparCG’s website version and install it in new system it will work.

It seems that you @molecule have investigated registering the ActiveX “by hand” is that correct? The question comes up a lot: How to setup a new PC after the FlashEOL and still make it work with Flash templates? Can you share, what you know? I did not find an installer for the Flash ActiveX that is compatible with Windows 10. Do you have one? Thanks.

Hello and happy new year 21…

How to setup a new PC after the FlashEOL and still make it work with Flash templates? Can you share, what you know?

that’s a good question; =) I don’t know what will happen if we prepare a new machine at the end of 2021 for example …

I’m only talking about Windows 10 and 64-bit ActiveX (for CasparServer 2.3.1) here

there is no Adobe ActiveX Flash installer for Windows 10 because it is installed natively with Windows 10 (and updated via Windows Update)

that’s why I did some tests with regserv and the ocx file
wiljan.hobbelink and Jurek talk about it here

the easiest way is to grab the Flash.ocx file on another Windows 10 machine (in C:\Windows\System32\Macromed\Flash), the most recent version I found is 32.0.0.445.

I rename it to Flash64bits_32.0.0.445.ocx because you can find different versions (depending on the last Windows update performed). You don’t need to rename it if you don’t want to.

I copy it to the C:\Windows\System32\Macromed\Flash folder:

you have to open a DOS console in administrator mode and do:

regsvr32.exe "C:\Windows\System32\Macromed\Flash\Flash64bits_32.0.0.445.ocx"

we can check in the registry (do a search on D27CDB6B-AE6D-11CF-96B8-444553540000)

by continuing the tests, I cannot re-register an older activeX (like 32.0.0.255), it looks like it only registers the most recent ones in the registry.
but that’s okay, since it’s better to have the latest version !

i have the Adobe Flash Player ActiveX version 32.0.0.445 (64 bits),
but what is the best way to make it available on the forum?

I would do tests later for the 32bits version and Caspar 2.0.7.1

1 Like

Thank you very much. That helps a lot. Please share you findings for 32 bits also, when you finish testing it.

Because as soon as we know, how it works for 32 bits also, I will try to build a small utility, that can be run to do the registering for both platforms. So that people do not need to fumble around with regsvr32.exe. I will then share that on GitHub for everybody to use.

2 Likes

Hi Didi, thanks for following this and making utility software. I’m too busy today, started testing this morning for Windows 10 and 32-bit ActiveX. I will post tomorrow morning

2 Likes

the tests were done on a Windows 10 used at home (Windows 10 Family 10H2) which has never been tampered with!
normally Windows 10 comes with activeX Flash Player in 32 and 64 bits and updated via Windows Update.
the 2 active x are called Flash.ocx and the registry contains:

and in another place:

This is where Caspar 2.0.7 looks for the version number that is displayed at startup:
image
the capture does not correspond to the correct version because it’s an old capture.

but it does not use the ocx ‘PlayerPath’ path that appears here.
it uses a path contained in a key ‘D27CDB6B-AE6D-11CF-96B8-444553540000’

ActiveX 32 bits version :

ActiveX 64 bits version :

to sum up, after several tests with Adobe installers and with regsvr.exe :
you cannot update 64-bit ActiveX from Adobe installers: they are only designed for versions prior to Windows 10.
If we put the installer in Windows 7 compatibility mode, there will indeed be an activeX to be created in the ‘SySWoW64’ folder only, named ‘Flash32_32_0_0_465.ocx’ for example, BUT the registry will not have changed.
If we use regsrv to register an ocx in the registry, Windows 10 says it went well but in fact nothing has changed in the registry either

in short if you have an activeX normally installed with Windows 10 > do nothing with Adobe installers or with regsrv.

Then I manually installed the KB4577586 which removes Flash Player from Windows 10

image
this deleted the Flash.ocx in SySWOW64 and System32 folders
and the info about Flash Player has disappeared from the registry.
and therefore Flash templates no longer work with Caspar

I kept several ActiveX that I renamed by putting the version name:
Flash32bits_32.0.0.255.ocx

Flash32bits_32.0.0.255.ocx
Flash64bits_32.0.0.387.ocx
Flash64bits_32.0.0.445.ocx

I have copied one (32bits version) in the folder ‘C:\Windows\SysWOW64\Macromed\Flash’’

I then did:

regsvr32.exe "C:\Windows\SysWOW64\Macromed\Flash\Flash32bits_32.0.0.433.ocx"

we have a message similar to this one:
image

which causes in the registry:

and so Caspar 2.7.0.1 is again able to display Flash templates.
On the other hand at startup, we can see ‘Flash Not Found’, but not dead; =)
image

it is because KB4577586 deletes the registry key
[HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayerActiveX]
but it does not matter,Caspar was only going to look for the version number in this key.
Caspar will load the activeX on startup normally

and for the 64bits version I did:
regsvr32.exe "C:\Windows\System32\Macromed\Flash\Flash64bits_32.0.0.445.ocx"

Caspar 2.0.7.1 and Caspar 2.3.1 works well (with the right mms.cfg file) and I tested also after January 12, 2021

1 Like

Wow, that is cool. You did quite a good job testing everything. Thank you very much. One small question came into my mind: What about these other files in the Flash folders? On my system there are:

  • activex.vch
  • FlashUtil_ActiveX.dll
  • FlashUtil_ActiveX.exe

beside the Flash.ocx and mms.cfg of course. Are they needed or is it sufficient to place the Flash.ocx (and the mms.cfg) there and do the registering?

1 Like

this is because Flash is cool and I don’t know of any other tools that allow with a single technology to create with code (real object oriented code) or with a timeline and distribute with a single file (which contains the code, fonts and bitmaps), yes amazing, in one swf file! :heart_eyes:
the workflow is very good

the FlashUtil_ActiveX.exe launches an uninstaller like this:

the other 2 files, I don’t know what they are for,
this 3 files are not necessary for Caspar, I only have these files there:
image

2 Likes