Как изменить TargetFileName, чтобы было видно версию?
Добрый день, имеется WPF приложение, расположенное на сетевом ресурсе, с которым работает около 20 пользователей. Появилась необходимость периодически вносить изменения, т.е. предоставлять пользователям новую версию приложения. Просить всех выйти из приложения чтобы заменить ЕХЕ файл не вариант. Придумал следующую схему - в название файла EXE добавляются цифры версии, что-то вроде MyExe1.1.2.2.exe, новые версии складываются в ту же папку, что и старая версия. В старой версии заложен алгоритм сканирования папки, который ищет наиболее новый ЕХЕ и уведомляет об этом пользователя. Собственно в связи с этим и возник вопрос как в автоматическом режиме изменить имя файла EXE, чтобы туда добавлялась версия приложения? Нашёл Post Build Actions, но в списке переменных не нашёл Версию, чтобы можно было добавить. Возможно есть какой-то более правильный метод распространения приложения? Заранее спасибо.
Более правильный метод называется ClickOnce. MSI тоже исключать не стоит (хотя именно вам он видимо не нужен).
Не изобретайте велосипедов там, где справляются серьезные технологии деплоя.
Боюсь, что данный вариант не очень подойдёт, из-за того, что разработка приложения ведётся на персональном компьютере и переносится во внутреннюю сеть предприятия. Вести разработку на компьютере во внутренней сети возможности нет. Администраторских прав также ни у кого нет.
Smilleey не совсем понимаю, зачем вести именно разработку во внутренней сети. Во внутреннюю сеть достаточно перенести манифесты и файлы приложения. Правда да, могут потребоваться административные учётки. А как вы вообще разворачиваете приложение без участия администраторов, интересно?) Они хоть не против?))
И да, можно поглядеть и на MSI. Это более замороченный вариант, то такой установщик выложить можно вообще как обычный файл. Но тогда вам в приложении нужно будет самостоятельно выполнять проверку обновлений примерно по той же схеме, что вы предложили с EXE, только всё-таки не EXE, а MSI. Версионировать EXE плохая идея: сейчас вам нужен только он, завтра понадобится версионировать и другие сборки, и в конце концов к установщику вы и придёте. Или потратите на разработку деплоя столько же времени, сколько на само приложение.
Smilleey конечно, некоторые вендоры (да тот же Близзард) имеют свою инфраструктуру развёртывания и установки, включая проверку обновлений, даунлоадеры, патчи и всё остальное, но таким обычно заморачиваются только крупные компании, у которых сотни тысяч установок и куча непростых требований.
Станислав Макаров Скажем так, что разработка ведётся своими силами без участия IT подразделений предприятия, по-хорошему, конечно, заниматься нам этим нельзя, но для упрощения работы приходится... Вот так вот и живём :)