PDA

View Full Version : SetupBuilder caching value!



Sergey
01-24-2011, 03:37 AM
I get FileVersion into var [T_SLVERSION]. run my setup, and get filever (1.7.0.2). after that i change file version into (1.7.0.0), run setup without rebuild and [T_SLVERSION]=(1.7.0.2)... how i can disable cache and renew this value?

linder
01-24-2011, 04:07 AM
Sergey,

This is not related to SetupBuilder. To retrieve file version information, the Windows version resource APIs have to be used. And there is no "clear cache" Windows API. In other words, your server provides this (outdated cached?) data, so you have to see if there is a configuration setting to change this on your server.

Hope this helps.

Friedrich

Sergey
01-24-2011, 04:26 AM
Sergey,

This is not related to SetupBuilder. To retrieve file version information, the Windows version resource APIs have to be used. And there is no "clear cache" Windows API. In other words, your server provides this (outdated cached?) data, so you have to see if there is a configuration setting to change this on your server.

Hope this helps.

Friedrich

the problem is that i create and run setup in my local computer. sl.dll file version (1.7.0.2) [T_SLVERSION]=1.7.0.2 test installation and destribe this setup into clients...
client run setup and [T_SLVERSION]=1.7.0.2, but clients sl.dll version (1.4.6.3).

defect repeated if...
Dialog 1
http://my.jetscreenshot.com/demo/20110124-ksbp-26kb
I set database into Streamline, next Dialog
http://my.jetscreenshot.com/demo/20110124-pmd9-46kb
sl.version is correct.

i close setup project and replace file into older version (or newer). file version is incorrect. this bug dissapear if i recompile setup. or if i change database name. if set database name Beta, setup get correct Beta version. e.g. if i change value in dialog 1, dialog 2 correct. if value not changed, dialog 2 incorrect.

sorry for my bad english. i can send my project and sl.dll into e-mail. i'm bought SetupBuilder and need help....

linder
01-24-2011, 04:41 AM
First of all, there is no bug in this SetupBuilder area! And SetupBuilder does not "cache" anything.

What you are doing at the moment is, you use the compiler directive to read a version resource at COMPILE time. Please note that you are not using an installer function here, so perhaps that's what you wanted to do? Use a function that reads the value at installer runtime, not compile time?

Friedrich

linder
01-24-2011, 04:51 AM
Sergey,

I re-read your original message and yes, I am sure you are mis-matching compiler variables (and compiler directives) and runtime variables (and installer functions).

Compiler variable values are set at COMPILE TIME and you use compiler directives when you BUILD the setup.exe. Runtime variables are resolved and installer functions are executed at installer runtime!

Does this help?

Friedrich

Sergey
01-24-2011, 05:06 AM
Sergey,

I re-read your original message and yes, I am sure you are mis-matching compiler variables (and compiler directives) and runtime variables (and installer functions).

Compiler variable values are set at COMPILE TIME and you use compiler directives when you BUILD the setup.exe. Runtime variables are resolved and installer functions are executed at installer runtime!

Does this help?

Friedrich

Yes. But how i can get file version into runtime var?

Sergey
01-24-2011, 05:09 AM
http://my.jetscreenshot.com/demo/20110124-whii-16kb.jpg
i get version. i think this way incorrect...?

linder
01-24-2011, 05:11 AM
Sergey,

Just use the "Get File Info..." installer function ;)

Does this help?

Friedrich

linder
01-24-2011, 05:16 AM
What you do here is, you set the value of the [T_SLVERSION] compiler variable at COMPILE TIME (that means, when you build your setup.exe) to a specific value. Then you set an installer runtime variable to this FIX value.

If you RUN your setup.exe, the value of %NUMBERED_VERSION% and %T_SLVERSION% will always be the very same value that you hard-coded at compiler time!

Friedrich

Sergey
01-24-2011, 05:20 AM
great thanks!

linder
01-24-2011, 05:22 AM
:)

Friedrich