FileVersion and ProductVersion not being updated?

Sep 4, 2009 at 12:22 PM

I have defined FileVersion and ProductVersion in the configuration.

It seems the InstallerLinker does not read and process it. But, the sourcecode I see seems to be doing it.

What is the secret?

Coordinator
Sep 4, 2009 at 12:29 PM

There's no secret. This definitely works in 1.6. Are you using a 1.7 build - which one? I've been making a lot of changes to ResourceLib, so it's possible this broke. Please attach your configuration file.

Sep 4, 2009 at 12:55 PM

Yeah am using 1.7.27191

I have download the code and trying to make a build out of it. Seems like is not trivial.

The version target has dependencies on subversion and thats troubling me a bit. Can you share GlobalAssyVersion and version.h, the outputs of Version build target, so that I can start using Debug mode.

 

Thanks.

 

Rohit

 

Coordinator
Sep 4, 2009 at 10:17 PM
Edited Sep 4, 2009 at 10:18 PM

The doc has a contributing section that describes how to setup a build environment.

You're probably just missing MSBuild Community Tasks, that's what the version task depends on. Otherwise ....

Version/GlobalAssemblyInfo.cs

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.4016
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

[assembly: AssemblyCompany("DevAge, Vestris Inc. & Contributors")]
[assembly: AssemblyProduct("dotNetInstaller")]
[assembly: AssemblyCopyright("Copyright (c) DevAge, Vestris Inc. & Contributors")]
[assembly: AssemblyTrademark("All Rights Reserved")]
[assembly: CLSCompliant(true)]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyVersion("1.7.27410.0")]
[assembly: AssemblyFileVersion("1.7.27410.0")]

Version/version.h

#pragma once

#define VERSION_MAJOR                 1
#define VERSION_MINOR                 7
#define VERSION_BUILD                 27410
#define VERSION_REVISION              0

#define VERSION_PRODUCTNAME_VALUE     "dotNetInstaller"
#define VERSION_COMPANYNAME_VALUE     "DevAge, Vestris Inc. & Contributors"
#define VERSION_LEGALCOPYRIGHT_VALUE  "Copyright (c) DevAge, Vestris Inc. & Contributors"
#define VERSION_LEGALTRADEMARK_VALUE  "All Rights Reserved"
#define VERSION_VALUE                 "1.7.27410.0"

#define BINARY_VERSION                1,7,27410,0

#define VERSION_FILEVERSION           BINARY_VERSION
#define VERSION_PRODUCTVERSION        BINARY_VERSION
#define VERSION_FILEVERSION_VALUE     VERSION_VALUE
#define VERSION_PRODUCTVERSION_VALUE  VERSION_VALUE

I would start by writing a unit test that demonstrates the problem. I spent a lot of time making it easy in 1.7, there's at least one test that takes a config and generates a bootstrapper executable out of it, then you can reload it with ResourceLib and compare the version that you put in the config. Even if you don't know how to fix the problem, the test will be very useful to me.