Мой установщик требует наличия двух файлов в одном каталоге для установки.
- Установщик (MSI-файл)
- Конфигурационный файл для конкретной организации, который копирует установщик. (Этот файл настраивается организацией и затем распространяется среди ее конечных пользователей).
Поскольку существует два файла, этот файл необходимо распространять в виде zip-файла. Что создает проблему, если пользователь пытается запустить MSI без фактического извлечения ZIP-файла ... извлекается только MSI-файл. Я могу обнаружить проблему в процессе установки и сообщить пользователю, что ему нужно распаковать файл ... но вы знаете, как никто не читает сообщения об ошибках.
Итак, я хотел бы сделать его более надежным, и поэтому мне было интересно, есть ли простой инструмент, который я мог бы позволить своим клиентам (т.е. организации) иметь возможность вносить изменения в файл конфигурации и, когда закончил, создавать Файл .exe, который при нажатии извлекает во временную папку, а затем запускает msi. Я знаю, что для этого есть решения, которые требуют коммерческого программного обеспечения. Мне интересно, существует ли простой бесплатный инструмент, который может сделать это.
Редактировать: Принятые примечания к решению:
Единственная проблема, с которой я столкнулся, это то, что iexpress не был предназначен для использования с MSI-файлами. В результате на шаге, который запрашивает у вас программу установки. Это поле со списком, в котором, если вы добавили файл .exe на предыдущем шаге, можно было просто выбрать файл .exe. Вместо этого вы должны вручную ввести
msiexec /i yourinstaller.msi
Мне было очень приятно найти такое простое решение, которое встроено в Windows. Единственный способ сделать это лучше - это разрешить использование подстановочных знаков, чтобы ваш проект iexpress мог обрабатывать изменения в имени файла MSI, которые происходят с каждой версией. И по умолчанию установить программу в MSI-файл. Эти незначительные неудобства компенсируются тем фактом, что конечному пользователю не нужно устанавливать какое-либо новое программное обеспечение для создания пакета, поэтому я перестал искать другие инструменты.