如何在新版本发布时自动更新 Flash Player?

如何在新版本发布时自动更新 Flash Player?

概括:

Flash Player 更新服务无法按照可靠的时间表运行,并且不会在需要时自动下载和应用更新跑步。

鉴于安装最新版本的 Flash Player 的重要性(对于那些不使用带有内置播放器的 Chrome 的人来说),我想找到一种方法来确保及时检测和安装新的更新。

以下是我自己努力解决这个问题的细节......

附录 A:Flash Player 更新服务

好的,早在 Flash Player 11.2 左右?Adobe 就添加了 Flash Player 更新服务 (FlashPlayerUpdateService.exe),它是应该保持 Flash Player 更新...

  • 安装后,FPUS 配置为作为 Windows 服务运行,启动类型设置为手动。

  • 添加了一项计划任务(Adobe Flash Player Updater.job)以每小时启动此服务。

到目前为止,一切顺利 - 这种设置避免了持续运行的服务,但确保检查运行的频率足够高,以便快速捕获任何更新。Google 的软件更新程序以类似的方式配置,并且工作得很好……

...然而,当我检查我安装的 Flash Player 版本时,我发现它是11.6.602.180,根据查看文件的时间戳,C:\Windows\System32\Macromed\Flash上次更新(或安装)时间为2013 年 3 月 12 日星期二 --- 2013 年 3 月 12 日,下午 5:00:08

我对此进行了观察2013 年 4 月 25 日星期四 --- 2013 年 4 月 25 日,晚上 7:00,并检查Adobe 网站发现当前 Flash Player 版本为11.7.700.169

距离上次更新已有一个多月了,网站上清楚地显示了新的更新,但没有迹象表明每小时检查仍在进行中我的机器已经注意到它或者有下载它的意图。

附录 B:手动运行 Flash Player 更新程序

曾几何时,跑步会让你有一扇窗户,FlashUtil32_<version>_Plugin.exe -update plugin安装按钮;按下它会下载当前版本的安装程序(自动,无需打开浏览器)并运行它,然后你点击该安装程序即可完成。它是手动的,但它有效!发现我当前的安装已过期(请参阅附录 A),我首先尝试了这个手动更新过程。然而......

  • 运行(在我的情况下是)...仅显示一个带有下载按钮的窗口,单击该下载按钮会打开浏览器访问 URLFlashUtil32_<version>_ActiveX.exe -update activexFlashUtil32_11_6_602_180_ActiveX.exe -update activexhttps://get3.adobe.com/flashplayer/update/activex

  • 运行(在我的情况下是)...仅显示一个带有下载按钮的窗口,单击该下载按钮会打开浏览器访问 URLFlashUtil32_<version>_Plugin.exe -update pluginFlashUtil32_11_6_602_180_Plugin.exe -update pluginhttps://get3.adobe.com/flashplayer/update/plugin

可以继续访问它发送给我的下载页面,取消选中 foistware 框(“免费!McAfee Security Scan Plus”),下载安装程序(ActiveX,无 foistware:install_flashplayer11x32axau_mssd_aih.exe,插件,无 foistware:install_flashplayer11x32au_mssd_aih.exe)&大概有更新的 Flash...但是,Flash Player 更新服务的意义何在我是否必须手动下载并运行另一个 exe?

结语

从那时起,我开始怀疑更新服务是故意设置的,目的是让早期采用者转到手动下载页面。如果这是真的,那么除了编写自己的更新程序外,可能没有其他解决办法;希望我是错的。

答案1

也许更新程序仅适用于 11.6.x 范围内的更新?

您始终可以使用安装程序的直接链接,我发现这更可靠:活动窗口插入

答案2

有了这个。蝙蝠文件它将尝试自动更新或安装Flash播放器适用于 Internet Explorer、Firefox(SeaMonkey 等)、基于 Chromium(Chrome、Opera 15+ 等):

del install_flash_player.exe
del install_flash_player_ax.exe
del install_flash_player_ppapi.exe
wget http://fpdownload.macromedia.com/pub/flashplayer/latest/help/install_flash_player.exe
wget http://fpdownload.macromedia.com/pub/flashplayer/latest/help/install_flash_player_ax.exe
wget http://fpdownload.macromedia.com/pub/flashplayer/latest/help/install_flash_player_ppapi.exe
install_flash_player.exe -install
install_flash_player_ax.exe -install
install_flash_player_ppapi.exe -install

需要wget可以下载这里并需要将其放到.bat 所在的同一目录中。


更高级的例子奥图伊特

功能:简单检查新版本,如果没有新版本则退出程序而不下载 Flash Player 安装程序。如果下载安装程序失败则显示错误消息框并退出。隐藏命令提示符窗口。不需要 wget。

安装后奥图伊特编辑。右键单击桌面->新建->Autoit 脚本。右键单击此创建的文件->编辑。现在您应该看到 ScITE 窗口,并在“在此处添加您的代码”行后添加此代码:

#NoTrayIcon
#include <WinAPIDiag.au3>
$flashplayerlink="http://fpdownload.macromedia.com/pub/flashplayer/latest/help/install_flash_player.exe"
$flashplayername="install_flash_player.exe"
$flashplayerlinkAX="http://fpdownload.macromedia.com/pub/flashplayer/latest/help/install_flash_player_ax.exe"
$flashplayernameAX="install_flash_player_ax.exe"
updateflashplayer($flashplayerlink,$flashplayername)
updateflashplayer($flashplayerlinkAX,$flashplayernameAX)

$flashplayerlinkPPAPI="http://fpdownload.macromedia.com/pub/flashplayer/latest/help/install_flash_player_ppapi.exe"
$flashplayernamePPAPI="install_flash_player_ppapi.exe"
updateflashplayer($flashplayerlinkPPAPI,$flashplayernamePPAPI)



Func updateflashplayer($link,$fname)
    if FileGetSize($fname)<>InetGetSize($link) then
        InetGet($link,$fname)
        if @error then
            MsgBox(16,"","Error: '"&_WinAPI_GetErrorMessage(@error)&"'"&@CRLF&$fname)
            Exit
        EndIf
        RunWait($fname&" -install","",@SW_HIDE)
    EndIf
EndFunc

然后在 SciTE 窗口中按 Tools->Build 或按 F7。现在您将在 Autoit 脚本所在的同一目录中获得独立可执行文件。

我建议为这个“更新程序”创建新文件夹(具有写入访问权限)。您可以将此“更新程序”的快捷方式添加到启动还。

这里用于卸载 Flash Player 的应用程序。

答案3

只是想和你分享我的批处理脚本,只需将这段代码保存到记事本中并将其命名为下载_安装_最后一个Flash播放器.bat

@echo off
REM Help page related to installation problems flash player windows (English)
REM English https://helpx.adobe.com/flash-player/kb/installation-problems-flash-player-windows.html
REM Page d'aide relative aux problèmes d'installation flash player windows (Français)
REM French https://helpx.adobe.com/fr/flash-player/kb/installation-problems-flash-player-windows.html
Mode 90,3 & color 9D
Title Download and install the latest version of Adobe Flash Player by Hackoo 2017
Set "Download_Folder=%~dp0Latest_Flash_Player_Installers"
Set "Uninstaller_Folder=%~dp0Uninstaller"
Set "Uninstaller_URL=https://fpdownload.macromedia.com/pub/labs/flashruntimes/flashplayer/uninstall_flash_player.exe"
Set "URL1=http://fpdownload.macromedia.com/pub/flashplayer/latest/help/install_flash_player.exe"
Set "URL2=http://fpdownload.macromedia.com/pub/flashplayer/latest/help/install_flash_player_ax.exe"
Set "URL3=http://fpdownload.macromedia.com/pub/flashplayer/latest/help/install_flash_player_ppapi.exe"
Set "URL_Help=https://helpx.adobe.com/flash-player/kb/installation-problems-flash-player-windows.html"
If Not Exist "%Uninstaller_Folder%" MD "%Uninstaller_Folder%"
If Not Exist "%Download_Folder%" MD "%Download_Folder%"
Call :Killing_Running_Browsers
Rem We Play radio just for fun and in order to let the user be patient until the download ended
Call :Play_DJ_Buzz_Radio
Call :Uninstalling_Flash_Player
Call :Download_and_Install_Flash_Player
REM Just to check (Check Button on the web page) if the latest Adobe Flash Player is installed successfully or not !
Start "Help page" "%URL_Help%" & Call :Stop_Radio & Exit
::***************************************************************************************************
:Uninstalling_Flash_Player
cls & echo( 
@For %%i in (%Uninstaller_URL%) do Set "Uninstaller_File=%%~nxi"
Call :Download "%Uninstaller_URL%" "%Uninstaller_Folder%\%Uninstaller_File%"
echo    Unistalling older and previous version of Adobe Flash Player ...
%Uninstaller_File% -uninstall
exit /b
::***************************************************************************************************
:Killing_Running_Browsers
set "Browsers_List=firefox chrome iexplore opera"
cls & echo(
echo     Killing any running instances of those browsers "%Browsers_List%" ...
@For %%i in (%Browsers_List%) Do ( 
    Taskkill /IM "%%i.exe" /F>nul 2>&1
)
exit /b
::***************************************************************************************************
:Download_and_Install_Flash_Player
@For %%i in (%URL1%) do Set "File1=%%~nxi"
Call :Download "%URL1%" "%Download_Folder%\%File1%"
Call :Installing_Flash_Player "%Download_Folder%\%File1%"
@For %%i in (%URL2%) do Set "File2=%%~nxi"
Call :Download "%URL2%" "%Download_Folder%\%File2%"
Call :Installing_Flash_Player "%Download_Folder%\%File2%"
@For %%i in (%URL3%) do Set "File3=%%~nxi"
Call :Download "%URL3%" "%Download_Folder%\%File3%"
Call :Installing_Flash_Player "%Download_Folder%\%File3%"
exit /b
::***************************************************************************************************
:Installing_Flash_Player <Install_File>
cls & color 9B
echo(
echo   Please wait a while ... installing "%~nx1" is in progress ...
%1 -install
exit /b
::***************************************************************************************************
:Download <url> <File>
cls & color 0A
echo(
echo      Please wait a while ... Downloading "%~n2" is in progress ...
Powershell.exe -command "(New-Object System.Net.WebClient).DownloadFile('%1','%2')"
exit /b
::***************************************************************************************************
:Play_DJ_Buzz_Radio
Taskkill /IM "wscript.exe" /F >nul 2>&1
Set "vbsfile=%temp%\DJBuzzRadio.vbs"
Set "URL=http://www.chocradios.ch/djbuzzradio_windows.mp3.asx"
Call:Play "%URL%" "%vbsfile%"
Start "" "%vbsfile%"
Exit /b
::**************************************************************
:Play
(
echo Play "%~1"
echo Sub Play(URL^)
echo    Dim Sound
echo    Set Sound = CreateObject("WMPlayer.OCX"^)
echo    Sound.URL = URL
echo    Sound.settings.volume = 100
echo    Sound.Controls.play
echo    do while Sound.currentmedia.duration = 0
echo       wscript.sleep 100
echo    loop
echo    wscript.sleep (int(Sound.currentmedia.duration^)+1^)*1000
echo End Sub
)>%~2
exit /b
::**************************************************************
:Stop_Radio
Taskkill /IM "wscript.exe" /F >nul 2>&1
If Exist "%vbsfile%" Del "%vbsfile%"
::**************************************************************

相关内容