Tôi đã triển khai Flash Player thông qua chính sách Cài đặt phần mềm. Làm thế nào để nâng cấp?


8

Tôi có máy Windows Server 2008 làm DC. Đầu năm nay tôi đã tạo GPO Cài đặt phần mềm để triển khai plugin Adobe Flash Player MSI. Tôi đã gán chính sách cho các máy tính, khoảng một nửa chạy Windows XP x86 và nửa còn lại là Windows 7 x64. Đó là tất cả các công việc như đồng hồ.

Khi tôi tạo Chính sách cài đặt phần mềm, tôi đã tắt tính năng cập nhật tự động của plugin Flash Player bằng cách chỉnh sửa MSI trong Orca. Tôi đã làm điều này bởi vì tôi muốn tất cả các máy của mình chạy cùng một phiên bản chính xác của plugin.

Bây giờ, một thời gian đã trôi qua và một phiên bản mới hơn của plugin Flash Player đã được phát hành. Đã đến lúc tôi đẩy ra phiên bản cập nhật của plugin. Tôi đã có MSI mới, nhưng tôi không biết phải làm gì tiếp theo.

  • Tôi thấy tab nâng cấp trong GPO Cài đặt phần mềm, nhưng mọi thứ ở đó đọc như thế sẽ được sử dụng cho các tiện ích bổ sung cho chương trình chính lớn hơn chứ không phải cho các bản cập nhật được phát hành theo thời gian.
  • Tôi đã đọc rằng tốt nhất là tạo chính sách Cài đặt phần mềm mới với MSI mới, thu hồi GPO cũ và gán GPO mới. Tôi cảm thấy như thể, theo thời gian, tôi sẽ kết thúc với nhiều chính sách bị thu hồi hơn là các chính sách hoạt động.
  • Tôi cũng đã đọc được rằng một số người đã thành công bằng cách thay thế MSI cũ bằng MSI mới và chỉ cần nói với GPO để triển khai lại. Đây có vẻ như là một phương pháp cửa sau sẽ chỉ khiến tôi gặp rắc rối.

Nói tóm lại, cách chính xác, thực hành tốt nhất hoặc ưa thích để tung ra phiên bản mới thông qua Chính sách nhóm là gì?

Câu trả lời:


16

Tôi đã thực hiện việc này nhiều lần với Flash Player (và phần mềm khác). Những gì bạn muốn làm là:

  • Sử dụng ORCA để chỉnh sửa nó với bất kỳ tùy chỉnh nào bạn muốn và lưu nó dưới dạng biến đổi (hoặc lưu nó dưới dạng MSI hoàn toàn mới, bất cứ điều gì phù hợp với bạn).

  • Đặt MSI mới (và biến đổi) đó vào chia sẻ triển khai phần mềm của bạn.

  • Thêm phần mềm này (và chuyển đổi) vào chính sách hiện tại của bạn. Nó sẽ tự động phát hiện nó như một bản nâng cấp lên các phiên bản Flash Player trước đó của bạn. Bạn có thể thêm tất cả các phiên bản trong cùng một chính sách nếu đó là cách bạn đã định cấu hình trước đó (x86: plugin và ActiveX, x64: plugin và ActiveX) hoặc bạn có thể tiếp tục với bất kỳ bố cục GPO nào bạn đã có. Chỉ cần đảm bảo rằng bạn đang thêm like-for-like trong chính sách của mình và nó sẽ tự động phát hiện những thứ này dưới dạng nâng cấp.

  • Nếu vì bất kỳ lý do gì, chúng không tự động được phát hiện là bản nâng cấp, bạn có thể tự đặt chính sách này trong chính sách. Đây là cách chính xác để xử lý tình huống này.

Điều này thực sự không có gì đặc biệt.

Một điều mà bạn nên suy nghĩ là thay vì chỉnh sửa MSI bằng ORCA mỗi khi có phiên bản mới, bạn có thể tạo tệp mms.cfg như được nêu ở đây với tùy chọn Flash Player. Tệp này sẽ không được chạm vào các bản nâng cấp, vì vậy bạn chỉ cần đẩy tệp này ra một lần và sau đó bạn có thể triển khai cài đặt vanilla Flash Player. Tôi đã sử dụng Tùy chọn tệp chính sách nhóm với Nhắm mục tiêu cấp độ mục để đặt mục này vào đúng vị trí trên các máy x86 và x64 trong môi trường hỗn hợp.


5

Tôi tin rằng nâng cấp là phương pháp thực hành tốt nhất để làm như vậy. Tôi đã sử dụng phương pháp này khá rộng rãi trong quá khứ mà không gặp vấn đề gì.

Thêm MSI mới dưới dạng Gói khác trong đối tượng Chính sách nhóm, chọn phương thức triển khai Nâng cao. Nó nên được phát hiện dưới dạng nâng cấp lên Flash Player đã triển khai trước đó. Nếu không, bạn có thể thêm nó vào tab cập nhật theo cách thủ công.


5

Tôi đã có những con số khủng khiếp về những thất bại dường như ngẫu nhiên (xem ghi chú của tôi khi kết thúc câu trả lời này) với một số Adobe Flash MSI v9, v10 và v11 không gỡ cài đặt hoặc nâng cấp đúng cách, khiến cơ sở dữ liệu MSI trên PC ở trạng thái điều đó làm tôi cảnh giác Cuối cùng tôi đã sử dụng một kịch bản khởi động:

  • Kiểm tra HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\CurrentVersiongiá trị đăng ký để xem phiên bản hiện được cài đặt có hiện hành không (thêm một WOW6432NODEvào đường dẫn đó, nếu cần) và bảo lãnh nếu phiên bản hiện tại

  • Sử dụng tiện ích cũ, không được hỗ trợ và bây giờ là không thể msizap.exesử dụng để loại bỏ các MSIs đã bị lỗi khỏi "quay lại trong ngày" (bao gồm {2BD2FA21-B51D-4F01-94A7-AC16737B2163}, {B7B3E9B3 E9124509AF5A} và {FA1D6742-0515-4A94-AD5D-F0484026E4A2}).

  • Sử dụng trình gỡ cài đặt do Adobe cung cấp EXE để âm thầm xóa mọi phiên bản Flash hiện tại

  • Sử dụng trình cài đặt EXE do Adobe cung cấp hiện tại với -install activexđối số (Tôi chỉ cài đặt điều khiển ActiveX ở hầu hết các trang web) để cài đặt phiên bản hiện tại

  • Viết ra một 'mms.cfg. tập tin để ngăn chặn nâng cấp tự động

Đây là phiên bản đã được dọn sạch của tập lệnh khởi động của tôi. Bạn cần phải ra ngoài và lấy EXE thích hợp nếu bạn muốn thực hiện điều này.

@echo off
SET MSIZAP=\\my.domain.com\netlogon\bin\msizap.exe
SET DFSPATH=\\my.domain.com\dfsroot\Packages\Adobe

SET UNINSTALL=%DFSPATH%\uninstall_flash_player_x86.exe
SET INSTALL=%DFSPATH%\install_flash_player_11.4.402.278_active_x.exe 

rem Detect 64-bit Windows
IF NOT "%ProgramFiles(x86)%"=="" SET WOW6432NODE=WOW6432NODE\

SET VER_FLAG_KEY=HKEY_LOCAL_MACHINE\SOFTWARE\%WOW6432NODE%Macromedia\FlashPlayer
SET VER_FLAG_VALUE=11,4,402,278

REG QUERY "%VER_FLAG_KEY%" /v CurrentVersion | find /i "%VER_FLAG_VALUE%" > NUL 2>NUL
if errorlevel 1 goto do_install
goto :EOF

:do_install
rem Uninstall all old versions of Flash.
start /wait /min "" "%UNINSTALL%" -uninstall activex

rem MSIZAP all old versions
start /wait /min "" "%MSIZAP%" TW! {2BD2FA21-B51D-4F01-94A7-AC16737B2163}
start /wait /min "" "%MSIZAP%" TW! {B7B3E9B3-FB14-4927-894B-E9124509AF5A}
start /wait /min "" "%MSIZAP%" TW! {FA1D6742-0515-4A94-AD5D-F0484026E4A2}

rem Run new installer
start /wait /min "" "%INSTALL%" -install activex

rem Block future automatic updates
SET DEST="%windir%\system32\Macromed\Flash\mms.cfg"

rem Detect 64-bit Windows
IF NOT "%ProgramFiles(x86)%"=="" SET DEST="%windir%\SysWOW64\Macromed\Flash\mms.cfg"

rem I'm using "sort" here because the redirect is being interpreted as "1>" and
rem doing "1 >" causes a space to be stored in the file, which "breaks" the file.
echo AutoUpdateDisable=1|sort>%DEST%

Các vấn đề tôi thấy khi gỡ cài đặt Flash MSI cũ hầu hết là:

  • "Adobe Flash Player 11 ActiveX - Lỗi 1714. Không thể xóa phiên bản Adobe Flash Player 11 ActiveX cũ. Liên hệ với nhóm hỗ trợ kỹ thuật của bạn. Lỗi hệ thống 1612."

  • "Lỗi 2753: Tệp 'installax.exe' không được đánh dấu để cài đặt"

Đối với tôi, ống hút làm vỡ lưng con lạc đà, đã thấy những lỗi này xảy ra ngẫu nhiên trong một trang web của Khách hàng với hơn 1000 PC khách. Tôi cần chắc chắn rằng các cập nhật Flash đang diễn ra và việc MSI ngẫu nhiên không gỡ cài đặt không phải là một tùy chọn. Thực tế là các thất bại của MSI xảy ra trong mỗi lần khởi động tiếp theo, làm chậm quá trình khởi động, chỉ thêm sự xúc phạm đến thương tích.

Tôi đã không nhìn vào một MSI v11 chi tiết. Các MSI v9 và v10 không có gì khác hơn là một hành động tùy chỉnh để thực thi trình cài đặt Flash dựa trên EXE với các đối số dòng lệnh. Tôi không ấn tượng về chất lượng của MSI, vì sử dụng Windows Installer để chạy thiết lập dựa trên EXE của bạn không sử dụng Windows Installer.


Các vấn đề tương tự với các phiên bản sau là tốt (14-16). Tôi đã dành nhiều giờ để cố gắng sắp xếp một MSI bị hỏng và cuối cùng đã sắp xếp mọi thứ bằng cách xóa và tải xuống một tệp MSI mới cho phiên bản bị hỏng. Khó khăn là cài đặt gốc bị ẩn do MSI bị lỗi không cài đặt được. Một trình dọn dẹp (hoặc tập lệnh để dọn sạch thông qua GPO) phải được thực thi trước tiên để xóa cài đặt không thành công trước khi gói mới sẽ cài đặt mà không gặp lỗi.
fyrye

1
@fyrye - Tôi đã ngừng sử dụng các bản phân phối Flash dựa trên MSI vài năm trước vì chúng quá tệ. Tôi đã chọn sử dụng một tập lệnh để msizapcài đặt thất bại.
Evan Anderson

@Evan Anderson, tôi đã có cùng trải nghiệm với các bản nâng cấp Flash Player. Số lượng lớn lỗi và thất bại với các mục nhật ký sự kiện giống như bạn mô tả. Gần đây nhất, quy trình tôi sử dụng là xóa phiên bản cũ và chọn 'Gỡ cài đặt ngay lập tức' từ lời nhắc tiếp theo. Sau đó, tôi thêm phiên bản mới vào cùng GPO. Tôi tự hỏi nếu thêm phiên bản mới như một bản nâng cấp sẽ hoạt động tốt hơn. Trong lúc này, tôi muốn hỏi bạn đã sử dụng MSIZAP trên máy Windows 7 chưa? Tôi không nghĩ rằng nó được Microsoft hỗ trợ, nhưng nếu nó hoạt động trong hầu hết các trường hợp, tôi sẵn sàng thử.
satchel_74

1
@ satchel_74 - Về mặt lịch sử, tôi đã rất cảnh giác với cài đặt "Gỡ cài đặt ngay lập tức ..." trong GPO vì về cơ bản, bạn đang đặt một hướng dẫn gỡ cài đặt không thể gỡ bỏ bằng các công cụ được hỗ trợ vào GPO. Tôi đã sử dụng MSIZAP trên các máy Windows 7 32 bit có vấn đề. Tôi đã không thử nghiệm rộng rãi nó và tôi, thành thật mà nói, không chắc hành vi trên máy 64 bit là gì. (Tôi không tin đã từng có phiên bản x64 của MSIZAP.) Cuối cùng, đó là một công cụ tôi cố gắng tránh sử dụng bất cứ khi nào có thể.
Evan Anderson

1

Nếu bạn thêm phiên bản flash.msi mới hơn vào cùng GPO, Windows sẽ phát hiện ra rằng đây là bản cập nhật cho phiên bản trước (phiên bản cũ hơn được liệt kê trong tab 'cập nhật'). Nó cũng sẽ biết rằng nó có thể cài đặt cái mới hơn cái cũ, mà không cần xóa cái cũ trước (hộp kiểm trong tab cập nhật được chọn).

Phép thuật này được thực hiện bởi GUID trong tệp msi, được Adobe đưa vào.

Bạn có thể thêm bất kỳ số lượng flash.msi mới nào vào cùng một GPO, nhưng cuối cùng bạn cũng có thể xóa những cái cũ.

Một ngoại lệ là phiên bản 11.4.402.278, vì trong trường hợp này, Adobe đã đặt sai số phiên bản ở một số nơi, do đó không thể tự cập nhật chính xác.

Vì lý do này, tôi khuyên bạn nên luôn có một GPO riêng chỉ áp dụng cho máy thử nghiệm và thử ở đó cho từng phiên bản mới: nâng cấp, hạ cấp, nâng cấp.

Xin lưu ý rằng phép thuật này không hoạt động với tất cả các tệp msi. Sau đó, bạn phải thêm những cái cũ theo cách thủ công vào danh sách trong tab cập nhật, và sau đó bạn nên bỏ chọn hộp kiểm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.