IExpress не может найти MSI после перезагрузки - PullRequest
2 голосов
/ 16 мая 2011

Я использую IExpress для объединения моего загрузчика и MSI-файла. Он работает нормально, за исключением того, что, если я установлю программу на машину без каких-либо предварительных условий (.net 4, sql ce), произойдет сбой. Всегда происходит сбой после перезагрузки, что происходит после установки .net 4 framework. В журнале ошибок, на который он указывает мне, он выдает сообщение типа

Ошибка: невозможно найти приложение файл

Перезапуск установки после сбоя устанавливает ее правильно, но это неприемлемое решение для этого проекта. У кого-нибудь есть идеи о том, как это исправить? Дайте мне знать, если мне нужно что-то объяснить. Спасибо.

1 Ответ

1 голос
/ 05 декабря 2012

Стивен прав; как только IExpress SFX завершает работу, он удаляет временный каталог, который он использует для извлечения (что-то вроде %temp%\IXP000.TMP). Поэтому после перезагрузки ваш MSI исчез.

Чтобы сохранить ваши установочные файлы, сначала нужно скопировать все в другой каталог. Вы можете запустить командный файл (например, установить для команды install program что-то вроде cmd /c persist.bat). Тогда persist.bat будет выглядеть примерно так:

@echo off
xcopy /y * "%temp%\myproject\"
msiexec /q /i "%temp%\myproject\install.msi" /l*v "%temp%\myproject_install.log"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...