PDA

View Full Version : Auto Update %ProductVer%



jassing
06-19-2009, 08:16 PM
Here's a little code snippet that I use in most of my installers.

Typically; you change the version # in SUF to reflect a new version of your installer.

What if you want this version to auto-update with your main application file?

Put this in an included LUA script file or global functions:

function SetupData.GetInternalFileVersion( cFileName )
local tFiles = SetupData.GetFileList(ARCHIVE_LIST);
local cVersion="0.0.0.0";

if type(tFiles) == "table" then
local x;
for x = 1, Table.Count(tFiles) do
if String.CompareNoCase(tFiles[x].FileName, cFileName )==0 then
cVersion = tFiles[x].FileVersion;
break;
end
end
end
return cVersion;
end

Now in your "On startup" add this line:

SessionVar.Set("%ProductVer%", SetupData.GetInternalFileVersion("MYAPP.EXE") );

For large installs, this does add a noticable install; but for most; it's quick enough.

kummers
01-15-2011, 12:15 AM
How can I do if i build a new version, for example from 1.0 to 2.0, in the ad or remove programs is a new link for the new version but a need to be autoupdated

Ulrich
01-15-2011, 07:04 AM
The same approach that Josh gave here would work. However you should note that, if you reinstall the product using a different version number in the shortcut of the Control Panel, you will be creating a new shortcut instead of overwriting the existing one. For this reason it might be best to suppress the number completely - or you must perform an automatic uninstall before installing the other version. You should avoid stuff like this:

10812

You can also use my FileVersion (http://www.mindquake.com.br/en/utils/fileversion) utility, or tools like Kinook's Visual Build (http://www.kinook.com/VisBuildPro/) to extract the version number and pass it to Setup Factory as a build constant.

Ulrich