Событие перед сборкой, чтобы изменить ProductVersion проекта установки, вступает в силу только после сборки - PullRequest
2 голосов
/ 22 февраля 2012

Я выполнил шаги, описанные здесь , чтобы изменить ProductCode и ProductVersion в моем проекте установки для каждой сборки, используя событие предварительной сборки.
(имеется в виду - я создал консольное приложение, которое используетвышеупомянутый код для изменения файла .vdproj, и я запускаю его из события перед сборкой).

Операция прошла успешно, и после завершения сборки я вижу, что свойство 'Version'проект установки изменился.

Однако свойство ProductVersion скомпилированного msi не изменяется.
Только если я создаю проект установки снова , я вижу, что«ProductVersion» изменился.

Возможно ли, что событие prebuild происходит после компиляции msi?

1 Ответ

1 голос
/ 22 февраля 2012

Кажется, я вспомнил, что у нас были проблемы с действием предварительной сборки на VDPROJ примерно в 2005 году, и нам пришлось создавать поддельные проекты C ++ с зависимостями сборки, чтобы мы могли использовать postbuild из C ++, чтобы сделать что-то до сборки VDPROJ.

Для записи, все возможно (потерпеть неудачу) с VDPROJ. Этот инструмент устарел в следующей версии Visual Studio из-за его недостатков.

Лучшим вариантом может быть обновление SQL таблицы Post в собранном MSI. Переключение на другой инструмент, безусловно, будет лучшим вариантом.

...