Могу ли я изменить внутреннюю версию exe - PullRequest
0 голосов
/ 09 марта 2012

У меня есть несколько VB6 exe / dll, которые я создал, когда я щелкаю правой кнопкой мыши по файлу и получаю свойства, на которых он говорит:

  • File version - 4.2.0.9
  • Product Version - 4.02.0009

Можно ли изменить File Version?Я хочу, чтобы это говорило 4.2.9.123

Я хочу изменить это программно, так где в файле я найду эти значения?Находятся ли они в определенном месте?

Это вызовет проблему при регистрации exe / dll с помощью COM, если я изменю внутреннюю версию?

(Если у кого-то есть решение для кода, мой языкпо выбору VB.NET)

Ответы [ 2 ]

7 голосов
/ 09 марта 2012

Для этого необходимо использовать вызовы Win32 API - в частности, функцию UpdateResource для изменения ресурса VERSIONINFO .

Посмотрите http://www.codeproject.com/Articles/6317/Updating-version-information-at-run-time и Замените информацию о версии ресурса для получения более подробной информации.

Возможно, вы можете использовать P / Invoke, но может быть проще просто пойти с C ++.

0 голосов
/ 09 марта 2012

Вам нужен редактор ресурсов, подобный этому ResEdit
Вы найдете FileVersion внутри ресурса VersionInfo.
Изменение информации FileVersion не должно иметь побочных эффектов для COM
Однако лучше иметьсначала резервная копия .......

...