Последние несколько дней я пытался настроить домашний FTP-сервер, но мой брандмауэр доставляет мне массу хлопот.
Моя цель — эмулировать функциональность приложения Click-Once в приложении Portable .NET. У меня есть готовый переносимый EXE-файл с несколькими папками данных для чтения/записи в одном каталоге, доступ к которым осуществляется во время выполнения с помощью My.Application.info.directorypath
. По этой причине я не хочу делать опубликованное приложение с установкой, потому что многие пользователи не имеют прав на запись в каталог своих программных файлов. Кроме того, у меня есть пользователи, использующие WINE на Mac/Linux, а также пользователи XP. Я думаю, что будет проблематично попытаться получить ту же совместимость, что и сейчас, если я откажусь от портативности.
Мой план состоит в том, чтобы написать второе приложение, которое будет функционировать как средство запуска/обновления. Он будет использовать веб-клиент для чтения размещенного файла с текущим номером версии программного обеспечения. Если он устарел, он предложит пользователю и затем использует WebClient.DownloadFile
для загрузки заархивированного пакета новейшего программного обеспечения. Замените старое на новое, а затем запустите приложение.
Единственная проблема в том, что это очень вирусный... Я не думаю, что это возможно сделать программную загрузку файла и просто заменить файл в фоновом режиме.
Есть ли у кого-нибудь хорошие приемы развертывания, как они справятся с этой ситуацией? Также у кого-нибудь есть хорошее предложение о расположении файлового хостинга, которое можно прочитать программно (я могу использовать Github, но я думаю, что это не одобряется...)
Я рассматриваю возможность использования Squirrel.Windows, но тогда ни один из моих пользователей WINE или XP не сможет использовать его.