2009-06-27 36 views
5

Công ty của tôi đang phát triển một ứng dụng có sự phụ thuộc vào một ứng dụng khác của chúng tôi. Ứng dụng thứ hai đó đã có trình cài đặt Inno Setup.Chạy trình cài đặt khác trong cài đặt Inno Setup

Vì vậy, tôi nghĩ rằng tôi muốn gói trình cài đặt của ứng dụng thứ hai trong trình cài đặt Inno Setup cho ứng dụng đầu tiên. Nhưng tôi không chắc chắn làm thế nào để đi về điều đó đúng. Có ai biết "đúng cách" để làm điều này?

Tôi đã tìm thấy điều này: Inno Setup Knowledge Base—HOWTO: Install .MSI files. Tôi cho rằng kỹ thuật này có thể được sử dụng cho trình cài đặt Inno Setup lồng nhau. Nhưng tôi có một vài câu hỏi về các chi tiết tốt:

  1. Làm cách nào để xóa ứng dụng đầu tiên, ứng dụng thứ hai cũng bị gỡ cài đặt?
  2. Đó có phải là một điều hợp lý để làm (tự động gỡ cài đặt ứng dụng thứ hai) hay tôi nên để người dùng thực hiện việc đó theo cách thủ công?
  3. Nếu người dùng cố gỡ cài đặt ứng dụng thứ hai trong khi lần đầu tiên được gỡ cài đặt, tôi có nên phát hiện ra điều đó và đưa ra cảnh báo không? Làm thế nào tôi có thể làm điều đó?

Trả lời

2

Đối với mức chức năng trình gỡ cài đặt bạn đang nói, tôi khuyên bạn nên làm quen với kịch bản lệnh pascal trong cài đặt Inno (nếu bạn chưa sẵn sàng). Nó cung cấp tùy biến đáng kinh ngạc, nhưng có báo trước làm cho các dự án của bạn phức tạp hơn rất nhiều.

Để trả lời câu hỏi thứ ba của bạn trước:

Có, bạn nên làm điều này. Để làm điều đó đúng cách, bạn cần phải thêm chức năng này vào trình gỡ cài đặt của ứng dụng thứ hai (ví dụ: ứng dụng của bạn phụ thuộc vào). Xem Uninstall event functions trong phần trợ giúp Cài đặt Inno. Bạn cần phải đăng ký trình gỡ cài đặt đó nếu ứng dụng của bạn được cài đặt (bằng cách kiểm tra xem ví dụ: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SecondAppName có tồn tại) và trong trường hợp đó sẽ hiển thị cảnh báo bổ sung.

Đối với câu hỏi thứ hai của bạn:

Nếu đó là điều khiển từ xa có thể là khách hàng của bạn muốn tiếp tục sử dụng các ứng dụng thứ hai, ngay cả khi ông quyết định rằng ông muốn gỡ bỏ cài đặt đầu tiên, bạn nên cung cấp cho ông lựa chọn. Tôi sẽ làm điều này với một trang thuật sĩ riêng biệt trong trình gỡ cài đặt cho ứng dụng của bạn, sau khi ứng dụng của bạn được gỡ cài đặt.

Và cuối cùng, câu hỏi đầu tiên của bạn:

Bạn cần phải xác định tên (đầy đủ đường dẫn) của ứng dụng khác của exe uninstaller. Bạn có thể truy xuất nó từ khóa đăng ký HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SecondAppName\UninstallString. Để thực hiện nó từ một tập lệnh trong phần [CODE], hãy xem Exec trong trợ giúp Cài đặt Inno.

+1

Chia sẻ một số mã! – tmighty

Các vấn đề liên quan