Переименование вывода Microsoft Installer в текущую версию - PullRequest
2 голосов
/ 29 января 2009

В настоящее время я ищу способ сохранить выходные данные проектов установки от перезаписи предыдущих версий. IE, когда проект установки собран, он заменяет что-либо в папке Release / Debug, есть ли способ переименовать вывод во что-либо, включая номер версии или дату, просто так, чтобы он не переписывал предыдущий файл или даже не создавал отдельные папки для каждой сборки, включающие дату и время.

Я знаю, что это можно сделать с помощью PostbuildEvents, но просто не могу понять, что нужно сделать.

Кстати, это Visual Studio 2008.

1 Ответ

4 голосов
/ 20 апреля 2009

Это было сложнее, чем я ожидал; значение события PostBuild не раскрывает свойства развертывания, и я не вижу способа получить версию сборки из командной строки.

Решение, которое я придумал, состояло в том, чтобы создать событие PostBuild, которое будет копировать выходные данные проекта в имя файла, созданное с использованием оценки подстроки в переменных среды% DATE% и% TIME%, чтобы получить уникальное имя файла. Попробуйте это:

COPY "$(BuiltOuputPath)" "$(ProjectDir)YourProjectName%DATE:~-4%%DATE:~-10,2%%DATE:~-7,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.msi"

Да, это написано "BuiltOuputPath" с 3 "т". Спасибо Microsoft!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...