У нас есть большое приложение, которое было разработано в течение 15 лет и установлено в более чем 200 клиентских местах.В настоящее время приложение состоит из базы данных Access и набора исполняемых файлов и файлов отчетов, расположенных в общей сетевой папке.Файл Setup.EXE запускается на каждом клиентском компьютере (на клиенте устанавливаются библиотеки DLL), а затем клиентские машины запускают исполняемые файлы непосредственно из общего сетевого ресурса.Во время процедуры обновления новые исполняемые файлы и файлы отчетов копируются в общую сетевую папку, и таким образом каждый клиент получает обновление немедленно.
Наша текущая программа установки очень старая и, среди прочего, не обрабатываетx64, поэтому мы находимся в процессе перехода к новому инструменту развертывания.В то же время мы переносим базы данных клиентского доступа на SQL Server.У меня возникают трудности с поиском инструмента для развертывания, чтобы делать то, что нам нужно.В частности, нам нужен файл установки / обновления для выполнения следующих действий:
- Он должен быть в состоянии запускаться с клиентского компьютера в сети и копировать новые исполняемые файлы и файлы отчетов в общий сетевой ресурс.Этим общим ресурсом может быть коробка Linux или немое запоминающее устройство.
- Примите пароль перед запуском установки
- Разрешите пользователю выбрать сетевой ресурс в качестве места для копирования исполняемых файлов
- Он должен НЕ добавить что-либо на клиентскую машину, с которой запускается пакет (Установка и удаление программ, реестр и т. Д.)
- Подключиться к базе данных SQL Server и запуститьscript
- Установка / обновление должны содержаться в одном отдельном файле .msi или .exe.(без зависимостей от DLL или фреймворков, кроме тех, которые поставляются с Windows XP)
- Файл должен быть запущен за один простой шаг.Это конечный пользователь запускает обновление без нашей поддержки и без участия ИТ-специалистов.
Похоже, что ближе всего к тому, что мне нужно, это WiX, но проблема в том, что всякий раз, когда MSI-файлзапускается с клиента, клиентский компьютер считает, что программа устанавливается, поэтому он позволяет клиентскому компьютеру удалить продукта, что недопустимо.
Если продукт был написан сегодняэто, конечно, будет спроектировано иначе, но в настоящее время это то, что есть, и мы не можем это изменить.Любая помощь здесь будет принята с благодарностью!