Kinook Software Forum

Go Back   Kinook Software Forum > Visual Build Professional > [VBP] Third Party Tools

Reply
 
Thread Tools Rating: Thread Rating: 13 votes, 5.00 average. Display Modes
  #1  
Old 10-25-2006, 12:30 PM
GJB GJB is online now
Registered User
 
Join Date: 10-25-2006
Posts: 3
VS2005 build step doesn't set file/product version

Hi

I've just been upgrading to v6.2 to work with VS2005.NET. Everything is working as I expect except that the .rc files are not being modified when a rebuild occurs and hence no update is happening to the product and/or file version.

I am using the Intel C++ compiler in the release configuration and to support this I had to use "DEVENV" in options. I've tried switching to the debug config as this uses the MS compiler but I get the same result. Checking the revision history of v6.2, a fix seemed to have gone in for something like this (I have converted from VC++ 6). Are .rc files not updated any more? I noticed mention of a .vdproj file in the FAQ ... the conversion didn't generate any of these.

Any ideas?

Thanks
Reply With Quote
  #2  
Old 10-25-2006, 08:34 PM
kinook kinook is online now
Administrator
 
Join Date: 03-06-2001
Location: Colorado
Posts: 6,003
It should update product/file versions in the .rc file if specified. Please ZIP and post or send:
1) The info from Help | About | Install Info
2) The .bld file used to build
3) A build log file
4) The .sln, project, and .rc files (no source code files)

Thanks.
Reply With Quote
  #3  
Old 10-26-2006, 06:19 AM
GJB GJB is online now
Registered User
 
Join Date: 10-25-2006
Posts: 3
I can recreate this without converting to the Intel compiler file system. I've created a trivial project that exhibits the behaviour.

If I point the build step at the .rc file itself, the increment occurs without a problem. When I point at the solution, no increment occurs. Am I misunderstanding the behaviour of the version increment?

The project attached has two steps ... one points at the solution, the other at the .rc file. Am I correct in thinking that when I run this build, the version number will increment twice (becase the solution build performs a rebuild and the .rc step always increments)?
Attached Files
File Type: zip vbptest.zip (17.6 KB, 974 views)
Reply With Quote
  #4  
Old 10-26-2006, 09:14 AM
kinook kinook is online now
Administrator
 
Join Date: 03-06-2001
Location: Colorado
Posts: 6,003
This is fixed in VisBuildDotNET.dll v6.2.0.4, which is in the latest v6.2 download and at http://www.kinook.com/Download/VisBuildDotNET.zip (extract to your VisBuildPro6\System folder).

No, it will only increment once. The Make VS.NET action first builds/rebuilds, then increments and builds again only if the target executable changed.
Reply With Quote
  #5  
Old 10-26-2006, 11:46 AM
GJB GJB is online now
Registered User
 
Join Date: 10-25-2006
Posts: 3
Thanks for the update ...

There seems to be a contradiction in the manual with what you said in the last response regarding the build project I attached:

Increment Version: The increment version option will increment the project version only if the project is built (the version is always incremented when specifying an individual RC or assembly file). This ensures that your installs work correctly and copies updated files when comparing the file version. After building or rebuilding a project, the original timestamp of the target executable is compared with the timestamp after building. If it has changed, the custom action increments the version and builds the project again (the second build will just recompile the resources and link).

The build project I provided has two build actions ... the solution is built (with the increment option enabled) as the first action (and so the rebuild all would trigger the up-version) and the .rc increment in a second action (and according to the user guide snippet above, it is always incremented). I know that if I just want to increment the version I only need to run the first action ... I just wanted to confirm that if an .rc file is specified that the increment is supposed to occur regardless.
Reply With Quote
  #6  
Old 10-26-2006, 04:58 PM
kinook kinook is online now
Administrator
 
Join Date: 03-06-2001
Location: Colorado
Posts: 6,003
Oh, I think I misunderstood your question. Yes, a Make VS.NET step specifying to increment a .rc file will always increment. A subsequent Make VS.NET set to build a project/solution and increment will also increment if the executable changes upon building.
Reply With Quote
  #7  
Old 11-14-2006, 07:09 AM
oliverj oliverj is online now
Registered User
 
Join Date: 11-14-2006
Posts: 2
I am using the evaluation version downloaded today which appears as 6.2a in Help->About. One of the key things we want is to be able to automatically increment the version of our mainly unmanaged Visual Studio.NET 2005 C++ projects. I have tried with a simple solution with one project with one rc file that only includes a VERSIONINFO block. The option to increment does not work. If I choose the rc file, it works; if I choose to set the version to a specific number, it works; but if I try to build the .vcproj or .sln, only one build is done, version number is not incremented and the log reads:

Post-processing...
c:\vss1\IRIS\BTAX\Utilities\Uppercasefix\UpperCase Fix\UpperCaseFix.vcproj...(no changes)
14/11/2006 12:57:46: Build successfully completed.

I have read quite a few other posts that indicate this behaviour. Has this bug been fixed and should it be fixed in the eval version I am using?
Reply With Quote
  #8  
Old 11-14-2006, 07:27 AM
oliverj oliverj is online now
Registered User
 
Join Date: 11-14-2006
Posts: 2
I have just identified the problem. We use .vsprops files to specify User Macros, that our vcproj files then reference these .vsprops files and use the macros to build up other values, including OutputDirectory.

I changed one project from using the User Macro to a hard coded value and the incrementing started working...

------- from the vcproj file -------
OutputDirectory="$(IRISOutput)\$(ConfigurationName )"
[*did not* increment version]

changed to

OutputDirectory="c:\common\$(ConfigurationName)"
[*did* increment version]

My question, therefore, is slightly different - Is this a bug and is it something you plan to address? This would be very important to us as several hundred projects in our system use this .vsprops approach.

The vsprops file is specified in the vcproj file, in the <Configuration> tag as such:

InheritedPropertySheets=".\UpperCaseFixProps.vspro ps"

and the vsprops file is a simple XML file which may look something like this:
?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="TaxLevel1Props"
>
<UserMacro
Name="IRISBase"
Value="c:\release8.7"
/>
<UserMacro
Name="IRISOutput"
Value="$(IRISBase)\common"
/>
<UserMacro
Name="IRISCodeBase"
Value="$(IRISBase)\vss1\IRIS"
/>
<UserMacro
Name="IRISLibs"
Value="$(IRISBase)\Common"
/>
</VisualStudioPropertySheet>
Reply With Quote
  #9  
Old 11-14-2006, 02:47 PM
kinook kinook is online now
Administrator
 
Join Date: 03-06-2001
Location: Colorado
Posts: 6,003
Support for referencing of user macros in .vsprops files within VC2005 projects is supported in the latest download at http://www.kinook.com/Download/VisBuildProEval.exe
Reply With Quote
Reply

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



All times are GMT -5. The time now is 04:18 AM.


Copyright © 1999-2023 Kinook Software, Inc.