
Tun Installer
Tun Installer là công cụ tạo exe installer, kết hợp engine cài đặt truyền thống với tùy biến giao diện hoàn toàn bằng HTML và CSS



About
Tổng quan và lý do mình tạo ra công cụ này
Lý do mình tạo ra phần mềm này là vì công ty mình cho mình sử dụng công cụ Advanced Installer với phiên bản Architect, công cụ này chỉ mạnh về đóng gói, và vì nó chuyên cho Windows nên bản chất đóng gói bên trong là .msi. Nhưng về phần giao diện cực kỳ tệ (theo quan điểm của mình, hoặc do mình chưa biết dùng chuyên sâu 😄) nhưng mình ít thời gian tìm hiểu chuyên sâu về nó để hoàn thành giao diện cài đặt cực kỳ hiện đại mà chị PO yêu cầu 😄 (hơi khó khăn 1 tí và giao diện cũng không giống 100% so với thiết kế 😄). Vì thế mình tạo ra công cụ này để giải quyết vấn đề về giao diện
Công cụ này tạo file cài đặt .exe với giao diện trình cài đặt sử dụng HTML + CSS, nên dễ dàng code giao diện trình cài đặt sâu, với giao diện hoàn toàn theo ý muốn, không bị ràng buộc bởi giao diện native của hệ điều hành.
Ý tưởng
Sử dụng 1 file .exe PE được nhúng các file resources vào cuối file mà không làm hỏng file .exe. Khi file .exe chạy thì sẽ đọc và giải nén vào thư mục, đồng thời cũng thực hiện một số chức năng như tạo shortcut, registry,...
Ý tưởng tạo ra công cụ này dựa trên cách hoạt động của các công cụ phổ biến khác như NSIS, Inno setup.
Các chức năng của 1 trình cài đặt dựa trên Advanced Installer.
Chức năng
File exe được tạo ra vẫn giữ các chức năng cơ bản, như:
copy resource files vào thư mục ProgramFiles
tạo shortcut
ghi registry Windows
thay đổi icon ứng dụng
Còn thiếu một số chức năng nâng cao:
Chạy custom action (.bat, powershell,...)
Đọc dung lượng yêu cầu, dung lượng khả dụng, dung lượng còn lại sau khi cài
Hỗ trợ CLI, tích hợp vào CI
Các chức năng nâng cao này sẽ bổ sung trong tương lai nếu nó được mọi người đánh giá cao về ý dự án này.
Techstacks
Tauri
Angular
NodeJS
rcedit-x64.exe
Góp ý
Mọi người có thể xem và đánh giá dự án này về mọi khía cạnh, như cấu trúc thư mục dự án, qui tắc đặt tên file, tên biến, cách code và tổ chức dự án,... cũng như ý tưởng dự án này của mình.