У меня есть сценарий настройки для моего собственного Windows EXE с использованием InstallShield Premium 2012. Однако мой EXE в конечном итоге полагается на компоненты присутствия, предоставленные Microsoft EXE, называемые AccessDatabaseEngine .Exe.MSI Error 1500: InstallShield Premium не может выполнить дополнительную встроенную установку EXE
Чтобы запустить этот исполняемый файл AccessDatabaseEngine.exe с моей установкой, я добавил его как встроенный двоичный ресурс, а затем использовал мастер настраиваемых действий для запуска AccessDatabaseEngine.exe как «Отложенное выполнение в системном контексте» в качестве «После публикации данных», Установите Exec Sequence. Это работало так, как ожидалось: AccessDatabaseEngine.exe запускается после того, как моя установка завершает большую часть своей работы.
Однако, как только я вижу пользовательский интерфейс для AccessDatabaseEngine.exe и подтверждаю его приглашения пользовательского интерфейса, я вижу «Ошибка 1500», в котором говорится, что выполняется другая установка.
Я понимаю, что два пакета MSI не могут работать одновременно, если вы не настроите реестр, чтобы разрешить его, что я не хочу делать на рабочих станциях моих клиентов, которые являются 32-разрядными машинами Windows 7.
Я хотел бы, чтобы успешно реализовать один из следующих вариантов:
один вариант: Попросите пользователя запустить мою программу Setup.exe, которая в какой-то момент запуска Microsoft AccessDatabaseEngine.exe без создания каких-либо сообщение об ошибке. Я просто не знаю, как это сделать, не вызывая появления ошибки 1500 ...
ВАРИАНТ ДВА: Если можно каким-либо образом обернуть файл Setup.exe вместе с Microsoft AccessDatabaseEngine.exe в один EXE, тогда я может предоставить моим конечным пользователям этот единственный EXE, и он сначала выполнит встроенный файл Setup.exe, и, как только это будет сделано, он выполнит AccessDatabaseEngine.exe.
Я понимаю, что я могу реализовать OPTION TWO в качестве .bat (пакетного) файла, но я хочу доставить только один EXE для моих конечных пользователей и установить этот единственный EXE, необходимый для правильной работы моего программного обеспечения.
Любые идеи?
Спасибо - это приемлемое решение, но AccessDatabaseEngine.exe попадает в папку как отдельный EXE, и (в идеале) мне нужен один файл Setup.exe без внешних зависимостей; также, у меня есть пароль в моем Setup.exe (прямой редактор | ISRelease | столбец паролей), а подсказка пароля появляется до появления Setup.exe, а затем снова до того, как будет запущено предварительное условие AccessDatabaseEngine.exe (в идеале мне бы понадобилось приглашение pw появляться только один раз). В этот момент я буду открыт для стороннего инструмента, который может обернуть файл Setup.exe и папку с другим exe, если такой инструмент существует. – Jazimov
Я не уверен в пароле, но для внешнего файла вы можете установить местоположение либо в свойствах правого щелчка в представлении перераспределителей, либо в конфигурации выпуска в представлении о выпуске. –
Что касается внешнего файла, то свойства redistributables позволяют выбрать либо локальный путь, либо местоположение в Интернете (что не является для меня вариантом из-за клиентских брандмауэров и ограниченных прокси); релиз позволяет мне изменить имя/расположение AccessDatabaseEngine.exe, но я не вижу способа его встраивания. В идеале я хотел бы добавить AccessDatabaseEngine.exe в качестве двоичного ресурса, а затем программа установки извлечет его, чтобы он мог выполнить его как необходимое условие. Это позволит мне предоставить один файл setup.exe моему клиенту. – Jazimov