Triển khai
Trang này dành cho người phụ trách cài AFDIM lên các máy của xưởng. AFDIM phát hành dưới dạng một bộ cài Inno Setup, AFDIM_Setup_<phiên bản>.exe, tải ở trang Tải về. Bộ cài đưa vào một bundle Autoloader của AutoCAD®. Không phải đăng ký gì với AutoCAD bằng tay: không NETLOAD, không đăng ký COM. AutoCAD quét các thư mục ApplicationPlugins mỗi lần khởi động và tự nạp bundle.
Cài gì, ở đâu
Phần tiêu đề “Cài gì, ở đâu”| Kiểu cài | Bundle plugin | Trình gỡ cài đặt | Cần nâng quyền |
|---|---|---|---|
| Riêng người dùng (mặc định) | %APPDATA%\Autodesk\ApplicationPlugins\AFDIM.bundle | %APPDATA%\AFDIM\uninstall\unins000.exe | Không |
Toàn máy (/ALLUSERS) | %ProgramFiles%\Autodesk\ApplicationPlugins\AFDIM.bundle | %ProgramFiles%\AFDIM\uninstall\unins000.exe | Có |
Trình gỡ cài đặt cố ý nằm ngoài thư mục bundle, vì AutoCAD quét thư mục bundle. Bản cài toàn máy để trình gỡ trong %ProgramFiles%, nên người dùng thường không thay được nó. Chỉ dùng trình gỡ của đúng kiểu cài trong bảng. Không bao giờ chạy trình gỡ trong %ProgramData%, kể cả khi một thông báo cũ chỉ tới đó. Nếu bản cài toàn máy thiếu trình gỡ, chạy bộ cài chính thức ở trang Tải về với /ALLUSERS để sửa bản cài đó, rồi mới gỡ. Bộ cài từ chối cài đè lên bản cài khác kiểu. Trình gỡ của bản cài riêng người dùng thì chạy không cần quyền quản trị.
Bundle gồm PackageContents.xml (manifest của Autoloader), state.json (phiên bản đang cài, kênh cập nhật, kiểu cài) và thư mục Contents với một thư mục con cho mỗi phiên bản. Cài với /NOAUTOUPDATE thì có thêm một tệp tên noautoupdate. Bộ cài cũng tạo lối tắt Start Menu AFDIM › AFDIM Help.
Khi chạy, AFDIM ghi những thứ sau. Mỗi tài khoản Windows có bản riêng, trừ %ProgramData%\AFDIM\license mà mọi tài khoản dùng chung.
| Vị trí | Nội dung |
|---|---|
%APPDATA%\AFDIM | Cài đặt và các tiêu chuẩn trình bày đã lưu |
%LOCALAPPDATA%\AFDIM\logs | Nhật ký hỗ trợ |
%LOCALAPPDATA%\AFDIM\cache | Tệp tải về khi cập nhật |
%LOCALAPPDATA%\AFDIM\license | Giấy phép của tài khoản Windows này |
%ProgramData%\AFDIM\license | Giấy phép dùng chung cho mọi tài khoản trên máy, khi Windows cho phép ghi |
HKCU\Software\AFDIM | Mã nhận diện bản cài và bản ghi thời gian của việc kiểm tra giấy phép |
%TEMP%\AFDIM | Tệp xuất hình vẽ bằng nút Xuất hình vẽ lần chạy vừa rồi… (bảng cài đặt, tab Về AFDIM) |
Trình gỡ cài đặt luôn giữ các thư mục giấy phép và khoá registry này. Xem Gỡ cài đặt.
Hai kiểu cài không thể cùng tồn tại
Phần tiêu đề “Hai kiểu cài không thể cùng tồn tại”Bộ cài từ chối chạy khi máy đã có AFDIM cài theo kiểu còn lại. AutoCAD quét cả hai gốc ApplicationPlugins, nên hai bản sẽ cùng nạp. Lệnh AFDIM bị đăng ký hai lần, và tính năng cập nhật trong phần mềm chỉ nâng cấp được một bản. Thông báo từ chối ghi rõ tệp unins000.exe cần chạy trước. Khi cài im lặng thì không có thông báo: bộ cài dừng, không cài gì, và ghi lý do vào tệp /LOG.
Các bản AutoCAD được hỗ trợ
Phần tiêu đề “Các bản AutoCAD được hỗ trợ”Một bundle dùng cho mọi máy. PackageContents.xml chuyển từng dòng phiên bản AutoCAD tới bản build tương ứng.
| Bản build | Dòng phiên bản | Năm AutoCAD | Tình trạng |
|---|---|---|---|
net472 | R19.0 đến R23.1 | 2013 đến 2020 | Đã phát hành; 2014 và 2016 đến 2018 thử nghiệm |
net48 | R24.0 đến R24.3 | 2021, 2022, 2023, 2024 | Đã phát hành |
net8.0-windows | R25.0 đến R25.1 | 2025, 2026 | Đã phát hành |
net10.0-windows | R26.0 | 2027 | Đã phát hành, thử nghiệm |
AutoCAD cài sau này, nếu thuộc dòng phiên bản được hỗ trợ, nạp AFDIM mà không phải cài lại. AutoCAD Mechanical cùng năm nạp đúng bản build đó. AutoCAD LT không được hỗ trợ vì không có .NET API. Trang Detected AutoCAD của bộ cài chỉ để xem; không có ô chọn theo từng phiên bản.
Cài khi AutoCAD đang chạy
Phần tiêu đề “Cài khi AutoCAD đang chạy”Được. Mỗi phiên bản cài vào thư mục con riêng, nên AutoCAD đang chạy không khoá tệp nào mà bộ cài cần ghi. Bộ cài hiện một ghi chú rồi chạy tiếp. Bộ cài không bắt ai phải đóng AutoCAD trước. AutoCAD đang chạy nạp AFDIM ở lần khởi động kế tiếp.
Cài im lặng
Phần tiêu đề “Cài im lặng”AFDIM_Setup_<phiên bản>.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTARTTrình cài đặt và thoả thuận cấp phép trong đó bằng tiếng Anh. Trang AFDIM Help mở bằng tiếng Việt trên Windows đặt cho Việt Nam, bằng tiếng Anh ở nơi khác.
Bản thân plugin có ngôn ngữ giao diện riêng. Bản mới cài chạy bằng tiếng Việt khi Windows đặt cho Việt Nam (ngôn ngữ hiển thị, định dạng vùng hoặc quốc gia), còn lại bằng tiếng Anh. Mỗi người dùng đổi được ngôn ngữ bằng danh sách thả xuống 56 ngôn ngữ ở đầu bảng cài đặt. Bảng cài đặt mở bằng nút Settings trên tab ribbon AFDIM. Ngôn ngữ đã chọn áp dụng cho bảng cài đặt, các cửa sổ thông báo và các thông báo trên dòng lệnh. Chữ chưa được dịch hiện bằng tiếng Anh. Lựa chọn được lưu trong cài đặt của người dùng đó.
| Tham số | Tác dụng |
|---|---|
/VERYSILENT | Không hiện giao diện. Dùng cho triển khai bằng script. |
/SILENT | Chỉ hiện cửa sổ tiến trình, không có các trang hỏi. |
/SUPPRESSMSGBOXES | Không hiện hộp thông báo. Dùng kèm /VERYSILENT. |
/NORESTART | Không khởi động lại máy. Bộ cài không cần khởi động lại; vẫn nên thêm tham số này. |
/LOG="C:\duong-dan\afdim.log" | Ghi nhật ký cài đặt đầy đủ. Gửi kèm tệp này khi nhờ hỗ trợ về cài đặt. |
/ALLUSERS | Cài cho mọi người dùng vào %ProgramFiles%. Cần nâng quyền. Ghi kiểu cài toàn máy vào state.json, việc này tắt cập nhật trong phần mềm. |
/CURRENTUSER | Cài cho người dùng hiện tại. Đây là mặc định. |
/NOAUTOUPDATE | Tắt cập nhật trong phần mềm cho bản cài này bằng cách thêm tệp noautoupdate. Chạy lại bộ cài không kèm tham số này sẽ bật lại. |
/EXCLUDESERIES=<dòng phiên bản> | Bỏ bản build phục vụ dòng phiên bản đó, để các bản AutoCAD thuộc dòng đó không nạp AFDIM. Nhiều dòng thì ngăn bằng dấu phẩy. |
/NOICONS | Không tạo lối tắt Start Menu. |
/DIR="C:\duong-dan" | Đổi thư mục cài. Hầu như không nên dùng, vì AutoCAD chỉ quét các vị trí ApplicationPlugins chuẩn. |
/EXCLUDESERIES nhận dòng phiên bản, không nhận năm: 2013 = R19.0, 2014 = R19.1, 2015 = R20.0, 2016 = R20.1, 2017 = R21.0, 2018 = R22.0, 2019 = R23.0, 2020 = R23.1, 2021 = R24.0, 2022 = R24.1, 2023 = R24.2, 2024 = R24.3, 2025 = R25.0, 2026 = R25.1, 2027 = R26.0. Tham số này bỏ toàn bộ bản build chứa dòng phiên bản đó. Bỏ R23.0 thì AFDIM không nạp ở mọi AutoCAD từ 2013 đến 2020. Bỏ R24.1 thì AFDIM không nạp ở mọi AutoCAD từ 2021 đến 2024. Bỏ R25.0 hoặc R25.1 thì AFDIM không nạp ở cả 2025 lẫn 2026. Bộ cài bỏ qua dòng phiên bản mà nó không biết.
Cài riêng người dùng hay cài toàn máy
Phần tiêu đề “Cài riêng người dùng hay cài toàn máy”Đánh đổi bảo mật của kiểu cài riêng người dùng
Phần tiêu đề “Đánh đổi bảo mật của kiểu cài riêng người dùng”Kiểu cài mặc định đặt tệp DLL của plugin trong %APPDATA%. Người dùng đang đăng nhập ghi được vào thư mục này, và AutoCAD nạp DLL đó vào tiến trình của nó mỗi lần khởi động. Bất kỳ chương trình nào đang chạy dưới tài khoản đó đều có thể ghi đè DLL tại chỗ, ví dụ mã độc hoặc một add-in bị chiếm quyền. Từ đó code của nó chạy trong AutoCAD, không cần hỏi, không cần nâng quyền. Điều này đúng với mọi plugin AutoCAD cài riêng người dùng, vì người dùng phải ghi được vào thư mục đó thì mới cài được mà không cần quyền quản trị.
Cách giảm rủi ro:
| Biện pháp | Tác dụng |
|---|---|
Cài với /ALLUSERS | DLL nằm trong %ProgramFiles%, người dùng thường không ghi được. Muốn thay phải có quyền quản trị. |
Giữ SECURELOAD ở mặc định là 1 | AutoCAD từ chối assembly .NET nằm ngoài đường dẫn tin cậy. Không chặn được ghi đè tại chỗ một tệp đã tin cậy, nhưng chặn được DLL mới thả vào chỗ khác. |
| Kiểm soát ứng dụng (WDAC hoặc AppLocker) | Chặn được DLL bị sửa. Từ 0.1.6, bộ cài và AFDIM.dll được ký số (nhà phát hành TO VAN TIN). |
| Theo dõi ghi bất thường vào thư mục bundle | Ngoài bộ cài và bản cập nhật cài từ trong AutoCAD (nút Cập nhật ngay ở tab Về AFDIM), không gì được sửa Contents\<phiên bản>\. |
Xưởng nào muốn DLL nằm ở chỗ chỉ quản trị viên sửa được thì cài bằng /ALLUSERS.
Xưởng nhiều máy và roaming profile
Phần tiêu đề “Xưởng nhiều máy và roaming profile”Xưởng có nhiều máy nên dùng /ALLUSERS. %APPDATA% là thư mục roaming. Với roaming profile hoặc folder redirection, bản cài riêng người dùng bị chép qua mạng mỗi lần đăng nhập. Hai máy đăng nhập cùng một tài khoản cũng có thể tranh nhau thư mục.
AFDIM_Setup_<phiên bản>.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERSChạy lệnh trong ngữ cảnh đã nâng quyền, ví dụ script khởi động của SCCM, Intune hoặc Group Policy. Mọi người dùng trên máy đều có AFDIM, và các tệp plugin không nằm trong roaming profile. Cài đặt của từng người dùng trong %APPDATA%\AFDIM vẫn đi theo profile.
Nếu buộc phải cài riêng người dùng trên roaming profile, loại %APPDATA%\Autodesk\ApplicationPlugins ra khỏi folder redirection.
Cập nhật bản cài toàn máy
Phần tiêu đề “Cập nhật bản cài toàn máy”Bản cài cho mọi người dùng (còn gọi là cài toàn máy) tắt cập nhật trong phần mềm, vì người dùng thường không ghi được vào %ProgramFiles%. Khi AFDIM thấy có bản mới, mục Cập nhật ở tab Về AFDIM của bảng cài đặt hiện câu sau thay cho nút Cập nhật ngay:
Bản cài này không tự cập nhật được: cài cho mọi người dùng, đã tắt khi cài, hoặc thư mục không ghi được.
Đẩy bản mới giống như lần cài đầu. Chạy bộ cài mới hơn đè lên bản đang cài là cách nâng cấp được hỗ trợ. Cách này giữ cài đặt của từng người dùng và giấy phép của từng máy. Thay đổi của từng phiên bản có ở trang Ghi chú phát hành.
Mỗi lần kiểm tra cập nhật là một yêu cầu HTTPS lấy bản tin cập nhật đã ký số từ update.afdim.com, và không bao giờ làm AutoCAD phải chờ. AFDIM kiểm tra:
- chạy ngầm khi AutoCAD khởi động: nhiều nhất 24 giờ một lần sau một lần kiểm tra thành công, và không sớm hơn 2 giờ sau một lần thất bại
- một lần khi mở bảng cài đặt, nếu trong phiên AutoCAD đó AFDIM chưa kiểm tra lần nào
- khi người dùng bấm Kiểm tra ngay ở tab Về AFDIM
Hai lần kiểm tra đầu chỉ xảy ra khi ô Tự động kiểm tra cập nhật ở tab Về AFDIM đang được đánh dấu và biến môi trường AFDIM_DISABLE_BACKGROUND_SERVICES=1 không được đặt. Đặt biến này cũng tắt tệp nhật ký AFDIM và việc kiểm tra giấy phép chạy ngầm (lấy tệp giấy phép đang chờ hoặc bản gia hạn). Không có nhật ký thì gói hỗ trợ cũng không có nhật ký.
Giấy phép trên các máy triển khai
Phần tiêu đề “Giấy phép trên các máy triển khai”Mỗi máy cần một giấy phép riêng. Kích hoạt ở mục Giấy phép của tab Về AFDIM trong bảng cài đặt. Có mã giấy phép thì người dùng bấm Nhập mã giấy phép…. Lúc đó máy phải tới được api.afdim.com qua HTTPS. Nếu AutoCAD không có mạng, người dùng bấm Xin cấp phép. Mã yêu cầu hiện ra được gửi qua Trang giấy phép. Tệp giấy phép nhận về được nạp bằng nút Nạp giấy phép… trong cùng mục. Xem Giấy phép hoạt động thế nào.
Khi Windows cho phép, AFDIM ghi thêm giấy phép đã nạp vào %ProgramData%\AFDIM\license. Nhờ vậy các tài khoản Windows khác trên cùng máy không phải kích hoạt lại.
Gỡ im lặng
Phần tiêu đề “Gỡ im lặng”rem ban cai rieng nguoi dung (mac dinh)"%APPDATA%\AFDIM\uninstall\unins000.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
rem ban cai toan may, chay voi quyen nang cao"%ProgramFiles%\AFDIM\uninstall\unins000.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTARTInno Setup cũng ghi lệnh gỡ im lặng vào giá trị QuietUninstallString của khoá registry Software\Microsoft\Windows\CurrentVersion\Uninstall\{04AC9D3E-F942-4408-8BBC-73CB09043772}_is1. Khoá này nằm trong HKCU với bản cài riêng người dùng và trong HKLM với bản cài toàn máy.
Mặc định trình gỡ giữ lại cài đặt của người dùng, nên gỡ rồi cài lại có thể dùng như một cách sửa lỗi. Muốn xoá cả dữ liệu, thêm /PURGEDATA:
"%APPDATA%\AFDIM\uninstall\unins000.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /PURGEDATA/PURGEDATA xoá %APPDATA%\AFDIM, %LOCALAPPDATA%\AFDIM và %TEMP%\AFDIM của tài khoản chạy trình gỡ. Các tài khoản Windows khác giữ thư mục của họ. Trong %LOCALAPPDATA%\AFDIM, thư mục license luôn được giữ. /PURGEDATA không bao giờ xoá %ProgramData%\AFDIM\license hay khoá registry HKCU\Software\AFDIM. Bộ nhớ đệm cập nhật luôn bị xoá.
Nếu AutoCAD đang chạy lúc gỡ, trình gỡ giữ lại các tệp mà AutoCAD đang giữ. Khi gỡ có giao diện, một cửa sổ báo điều đó: đóng mọi cửa sổ CAD rồi chạy lại trình gỡ. Khi gỡ im lặng, các tệp đó được ghi trong nhật ký gỡ. Tệp nằm trong thư mục đã đổi đường dẫn cũng được giữ lại. Đóng mọi cửa sổ CAD rồi gỡ hoặc cài lại, hoặc xem các đường dẫn trong nhật ký trước khi tự xoá tay. Không yêu cầu khởi động lại, và không có gì bị xoá ở lần đăng nhập sau.
Kiểm tra sau triển khai
Phần tiêu đề “Kiểm tra sau triển khai”- Mở AutoCAD. Tab ribbon AFDIM hiện ra với hai nút Dimension và Settings. Hai tên này là tiếng Anh ở mọi ngôn ngữ.
- Chạy
AFDIM. Lệnh chạy được mà không cầnNETLOAD. Trên máy chưa có giấy phép, lệnh mở cửa sổ Chào mừng bạn đến với AFDIM hoặc cửa sổ AFDIM chưa được kích hoạt. Cả hai cửa sổ chứng tỏ plugin đã nạp. - Kiểm tra thư mục bundle có
PackageContents.xml, trong đó có khốiComponentsvớiSeriesMinvàSeriesMaxbao được bản AutoCAD đang cài. - Kiểm tra
state.jsonghi đúngactiveVersion,channelvàinstallScopemong muốn.
Nếu AFDIM báo lệnh không tồn tại, mở lại AutoCAD một lần, vì AutoCAD chỉ quét plugin lúc khởi động. Nếu vẫn lỗi, kiểm tra chính sách SECURELOAD và TRUSTEDPATHS. Sau đó gửi tệp /LOG kèm phiên bản AutoCAD tới Hỗ trợ.