# \[Solved\] How do you replace Project Version through the CLI on Windows?

**URL:** <https://forum.juce.com/t/solved-how-do-you-replace-project-version-through-the-cli-on-windows/24112>\
**Category:** Windows\
**Created:** [September 9, 2017, 10:33am UTC](https://forum.juce.com/t/solved-how-do-you-replace-project-version-through-the-cli-on-windows/24112 "2017-09-09T10:33:37Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![tsenkov](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/tsenkov/32/3150_2.png) [@tsenkov](https://forum.juce.com/u/tsenkov)\
**Post date:** [September 9, 2017, 10:33am UTC](https://forum.juce.com/t/solved-how-do-you-replace-project-version-through-the-cli-on-windows/24112/1 "2017-09-09T10:33:37Z")

</div>

Hi JUCErs,

2nd question about build automation on Windows, today. @daniel helped me out with the [previous one](https://forum.juce.com/t/solved-cli-switch-between-win32-and-x64-platform-for-build-automation-on-windows/24110/).

On Mac, before building the release binaries I alter the .plist’s of all targets in order to set the build version of my project. How do I do this on Windows?

I could use rcedit on the CLI to edit the built dll’s for VST2, but VST3 isn’t a dll.

Do I need to edit resources.rc file in the VisualStudio2017 exporter root dir? How do I do that?

Thanks for any responses.

---

<div class="post-metadata">

**Author:** ![daniel](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/daniel/32/790_2.png) [@daniel](https://forum.juce.com/u/daniel)\
**Post date:** [September 9, 2017, 10:36am UTC](https://forum.juce.com/t/solved-how-do-you-replace-project-version-through-the-cli-on-windows/24112/2 "2017-09-09T10:36:29Z")

</div>

The Projucer can do that, try Projucer --help, it can do a lot.  
The ones interesting for you:

```auto
 Projucer --resave project_file
    Resaves all files and resources in a project.

 Projucer --resave-resources project_file
    Resaves just the binary resources for a project.

 Projucer --get-version project_file
    Returns the version number of a project.

 Projucer --set-version version_number project_file
    Updates the version number in a project.

 Projucer --bump-version project_file
    Updates the minor version number in a project by 1.

 Projucer --git-tag-version project_file
    Invokes 'git tag' to attach the project's version number to the current git repository.

```

IIRC it updates plist and rc files. The build number is also available as ProjectInfo::versionString (see JuceHeader.h at the end)

HTH

---

<div class="post-metadata">

**Author:** ![tsenkov](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/tsenkov/32/3150_2.png) [@tsenkov](https://forum.juce.com/u/tsenkov)\
**Post date:** [September 9, 2017, 10:45am UTC](https://forum.juce.com/t/solved-how-do-you-replace-project-version-through-the-cli-on-windows/24112/3 "2017-09-09T10:45:38Z")

</div>

Beautiful. Thanks again for the big help.

---

<div class="post-metadata">

**Author:** ![daniel](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/daniel/32/790_2.png) [@daniel](https://forum.juce.com/u/daniel)\
**Post date:** [September 9, 2017, 10:57am UTC](https://forum.juce.com/t/solved-how-do-you-replace-project-version-through-the-cli-on-windows/24112/4 "2017-09-09T10:57:39Z")

</div>

You’re very welcome 🙂
