Я использую экран установки для обновления приложения.Установка экрана не может заменить заблокированный файл
У меня есть сервер ws2003, у нескольких пользователей есть доступ одновременно.
Когда другие пользователи запускают мое приложение, я могу запустить процесс обновления, установить экран, чтобы узнать, что файлы заблокированы и создает временную версию новых файлов (это файлы app.configs, автоматически создаваемые во время установки) в каталоге приложения. Он должен заменить эти файлы после перезагрузки компьютера, однако, когда я запускаю компьютер, снова исчезают временные файлы, а новая версия файлов пуста, поэтому моя авария приложения.
Странно, потому что когда-то я пробовал этот механизм в другом приложении, но там я заменил простой файл dll, и он сработал.
Что можно сделать для преодоления этой проблемы?
Спасибо за ваш ответ, однако у меня есть вопрос. Что именно представляет собой предлагаемый процесс: я понимаю, что во время обновления я должен использовать два исполняемых файла, но что именно должна делать первая версия? – Darqer
Первый exe заменяет файлы, которые блокируются вторым exe. Таким образом, вы можете загрузить их во втором exe, сначала запустить и снова выйти. Он заменит файлы (теперь разблокированные) и запустит второй exe. Обратите внимание, что второй exe может обновить первый exe, поскольку он больше не используется при запуске обновления. Если вы используете BAT-файл, используйте 'start' для запуска второго exe в фоновом режиме. –