2012-03-09 3 views
0

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

  • File version - 4.2.0.9
  • Product Version - 4.02.0009

можно ли изменить File Version? Я хочу это сказать 4.2.9.123

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

Должно ли возникнуть проблема с регистрацией exe/dll с COM, если я изменю внутреннюю версию?

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

+1

Возможный дубликат http://stackoverflow.com/questions/4021311/change-my-applicationss-exe-file-version-in-vb6 – kaj

+0

@KAJ Это был дубликат, когда вы разместили этот комментарий, но теперь Мэтт разъяснил он должен сделать это программно, так что это уже не дубликат! :) – MarkJ

+1

Почему вы не можете просто восстановить двоичные файлы с обновленными версиями? Мне любопытно, к какому сценарию вы столкнулись. – UnhandledExcepSean

ответ

7

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

Для получения более подробной информации см. http://www.codeproject.com/Articles/6317/Updating-version-information-at-run-time и Replace Version Info Resource.

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

0

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

+0

Спасибо, Стив - я после программного решения, хотя, может быть, это было непонятно - я отредактирую свой вопрос –

Смежные вопросы