Привет всем, кто столкнулся с подобными проблемами,
После ссылки на эту ссылку: How do I set the version information for an existing .exe, .dll?
Я был в состоянии изменить динамические библиотеки и версию продукта Exes' под определенную папку. Этот шаг выполняется после создания всех библиотек dll и exes.
Использование Resource Hacker для извлечения * .RC файл из Exes/DLLs: версия
$ResourceHackerPath = "C:\Tools\resource_hacker\ResourceHacker.EXE"
$Dllpath = "...\MySoftware\Mydll.dll"
$RCpath = "...\MySoftware\Mydll.RC"
Start-Process -FilePath "`"$ResourceHackerPath`"" -ArgumentList "-extract `"$ProductPath`",`"$RCpath`",versioninfo,," -wait
Редактировать продукт в * .RC файле:
$OriProVer = (Get-Item -literalpath $Dllpath).VersionInfo.ProductVersion
$NewProVer = "Mysoftware 5.1 Beta 6"
(Get-Content $Dllpath).Replace($OriProVer, $NewProVer) | Set-Content $Dllpath
Использование GoRC изменить * .RC формат файла в * .RES файл:
Start-Process -FilePath "`"$GoRCPath`"" -ArgumentList "/r `"$RCpath`"" -wait
Использование ресурсов Hacker снова добавить * .RES файл в DLLs или EXEs
$RESpath = "...\MySoftware\Mydll.RES"
Start-Process -FilePath "`"$ResourceHackerPath`"" -ArgumentList "-addoverwrite `"$Dllpath `",`"$Dllpath `",`"$RESpath`", , ," -wait
ваших DLLS' версия продукта должна быть обновлена до любой строки, которую вы хотите.
Дополнительные советы, если вы хотите обновить много версии библиотеки DLL и EXEs продукта: Вы можете попробовать это:
Поиск всех библиотек DLL и EXEs под конкретную папку:
$directory = "...\Desktop\New Folder"
$FileNameList = Get-ChildItem -literalpath $directory -Include *.dll, *.exe -recurse | foreach-object { "{0}" -f [System.Diagnostics.FileVersionInfo]::GetVersionInfo($_).FileName}
Делая все 4 описанные выше действия в цикле:
for ($i = 0;$i -lt $FileNameList.count;$i++){...}
Благодаря & есть хороший день :)
из памяти (и я не имею рабочую копию VB6 любой более), не существует опция командной строки для установки версии продукта. Лучше всего установить сценарий обновления в файл VBP или использовать утилиту для установки номера версии после сборки. – OldBoyCoder
Привет, Спасибо за ваш ответ :), я использую сервер TFS для его запуска, и ожидаемый вывод я надеюсь, что версия продукта может быть автоматическим обновлением, лучше всего будет обновлять ее после сборки, поскольку у меня много DLL и exes из разных компиляторов необходимо обновить. –