|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
Пытаюсь реализовать обновление приложения. Реализую это следующим способом. При нажатии на кнопку я получаю имя запущенного приложения, потом ищу файл с таким же именем в указанной папке сверяю их версии при помощи Assembly.LoadFrom(path).GetName().Version. В случае наличия новой версии, я переименовываю текущую сборку и копирую новую версию, потом запускаю ее при помощи processinfo и закрываю текущую. Основной проблемой является то что при использовании Assembly.LoadFrom(path) файл который проверяется становится занятым и не дает себя удалить пока не перезапустишь приложение. Но вроде решение нашел (но еще на проверял), что curVersion = AssemblyName.GetAssemblyName(fi.FullName).Version; не занимает файл. У кого какие мысли, как вам этот способ обновления может есть более интересные решения? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 19:13 |
|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
фтопку ClickOnce рулит. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 20:48 |
|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
Antonariyфтопку ClickOnce рулит. +1 разве что сервисы не ставит ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2015, 10:39 |
|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
А как сделать чтобы он приложение в определенный каталог устанавливал, а не в c:\user... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2015, 12:37 |
|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
lex452А как сделать чтобы он приложение в определенный каталог устанавливал, а не в c:\user... никак, а зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2015, 15:07 |
|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
Arm79Antonariyфтопку ClickOnce рулит. +1 разве что сервисы не ставитага, приходится с батниками извращаться ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2015, 15:59 |
|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
AntonariyArm79пропущено... +1 разве что сервисы не ставитага, приходится с батниками извращаться О, это как? Поделись рецептом, плиз :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2015, 16:12 |
|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
Как я заметил, при обновлении создается отдельная папка и в нее заново копируются все файлы, а мне необходимо например чтобы файл настроек на заменялся и без толку не копировались одни и те же файлы и не плодились папки с программой. Так же во время работы с программой в ее корне создаются некоторые папки и файлы, а после обновления этот "корень " меняется ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2015, 18:31 |
|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
Arm79Antonariyпропущено... ага, приходится с батниками извращаться О, это как? Поделись рецептом, плиз :-)Да какой там рецепт, просто две строчки записываются в bat-файлы install.bat Код: c# 1. 2.
uninstall.bat Код: c# 1. 2.
пауза для того, чтобы консоль не закрылась, и было видно результат установки/удаления. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2015, 18:40 |
|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
Install Shield, Advanced Installer вам в помощь. ClickOnce редчайшее дерьмо. Чтоб установить ClickOnce приложение через прокси сервер, надо жопу порвать на британский флаг.. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2015, 18:40 |
|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
AntonariyArm79пропущено... О, это как? Поделись рецептом, плиз :-)Да какой там рецепт, просто две строчки записываются в bat-файлы install.bat Код: c# 1. 2.
uninstall.bat Код: c# 1. 2.
пауза для того, чтобы консоль не закрылась, и было видно результат установки/удаления. а кто из запускает то? и права для этого нужны админские ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2015, 18:42 |
|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
lex452Как я заметил, при обновлении создается отдельная папка и в нее заново копируются все файлы, а мне необходимо например чтобы файл настроек на заменялсяНастройки не заменяются, они объединяются. lex452 и без толку не копировались одни и те же файлы и не плодились папки с программой. Это задача без решения в ClickOnce, да. Пока. Но не проблема, если программа не весит несколько сот метров. lex452Так же во время работы с программой в ее корне создаются некоторые папки и файлы, а после обновления этот "корень " меняетсяА это не проблема. Просто нужно создавать свои папки не в папке программы, а в папке %users%\UserName\AppData\Roaming или \Local Первая папка перемещается вместе с профилем пользователя по компьютерам домена, вторая прибита гвоздями к конкретному компу. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2015, 18:56 |
|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
Arm79а кто из запускает то?Хочешь - какой-нибудь инсталлятор, не хочешь - руками. А вообще есть идея. Можно написать программу-инсталлятор сервиса, которая инсталлируется и обновляется кликвансом, а сервис сделать ее компонентом. При ее запуске проверять наличие старого сервиса, делать ему \u, регистрировать новый. Arm79 и права для этого нужны админскиеЕстественно. С каких это пор у простых юзверей есть права сервисы мацать? Они их даже останавливать и запускать прав не имеют. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2015, 19:06 |
|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
[quot Antonariy]lex452Как я заметил, при обновлении создается отдельная папка и в нее заново копируются все файлы, а мне необходимо например чтобы файл настроек на заменялсяНастройки не заменяются, они объединяются. Что значит объединяются? Если в файле настроек есть настройка путь к каталогу, которую пользователь уже изменил, то при обновлении программы она перезапишется новым значением, а не объединится ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2015, 21:23 |
|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
Antonariylex452 и без толку не копировались одни и те же файлы и не плодились папки с программой. Это задача без решения в ClickOnce, да. Пока. Но не проблема, если программа не весит несколько сот метров. Просто не надо понтоваться и ставить галку "Автоматически увеличивать номер редакции после каждой публикации" ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2015, 21:06 |
|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
Cat2Antonariyпропущено... Это задача без решения в ClickOnce, да. Пока. Но не проблема, если программа не весит несколько сот метров. Просто не надо понтоваться и ставить галку "Автоматически увеличивать номер редакции после каждой публикации" А она не перестанет после этого обновляться? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2015, 21:26 |
|
Реализация обновления приложения
|
|||
---|---|---|---|
#18+
AntonariyCat2пропущено... Просто не надо понтоваться и ставить галку "Автоматически увеличивать номер редакции после каждой публикации" А она не перестанет после этого обновляться? Нормально обновляется. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2015, 15:17 |
|
|
start [/forum/topic.php?fid=20&msg=38893991&tid=1401823]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 344ms |
total: | 486ms |
0 / 0 |