installshield - How can I get File Version of basic msi installation package (setup.exe) in MSBuild -


i have setup.exe. basic msi installation package. use installshield create it. how can fileversion in msbuild script? cannot use getassemblyidentity task

    <getassemblyidentity assemblyfiles="setup.exe">         <output             taskparameter="assemblies"             itemname="myassemblyidentities"/>     </getassemblyidentity> 

because setup.exe not assembly , doesn't contain assembly manifest, error appears if invoke task:

could not load file or assembly 'setup.exe' or 1 of dependencies. module expected contain assembly manifest.

the fileversioninfo class provides functionality, , inline code allows using msbuild directly:

<?xml version="1.0" encoding="utf-8"?> <project toolsversion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >    <usingtask taskname="getversion" taskfactory="codetaskfactory"              assemblyfile="$(msbuildtoolspath)\microsoft.build.tasks.v4.0.dll" >     <parametergroup>       <thefile required="true" parametertype="system.string"/>       <theversion parametertype="system.string" output="true" />     </parametergroup>     <task>       <code type="fragment" language="cs">         <![cdata[           theversion = system.diagnostics.fileversioninfo.getversioninfo( thefile ).fileversion;          ]]>       </code>     </task>   </usingtask>    <target name="dogetversion">     <getversion thefile="$(myassemblyidentities)">       <output propertyname="fetchedversion" taskparameter="theversion" />       </getversion>     <message text="version = $(fetchedversion)" />   </target>  </project> 

Comments

Popular posts from this blog

matlab - Deleting rows with specific rules -

php - MySQLi multi_query results for later use -