licensing - Infragistics components on build server -


i have "inherited" new (old?) winforms project , put onto our build server (bamboo). build server has absolute minimum (.net 3.5 , not more) installed, , we'd keep way.

as first step, extracted assembly files (*.dll) infragistics components separate directory , referenced them local directory (instead of relying on them being installed in gac). works ok.

but when try run build on bamboo (using msbuild), keep getting errors:

properties\licenses.licx(1): error lc0004: exception occurred creating type 'infragistics.win.ultrawintoolbars.ultratoolbarsmanager, infragistics2.win.ultrawintoolbars.v7.2, version=7.2.20072.61, culture=neutral, publickeytoken=7dd5c3163f2cd0cb' system.componentmodel.licenseexception

after bit of googling, seems licenses.licx file in projects kind of licensing scheme prevent tools being installed on several machines.

but how can rid of build server build work, without installing full infragistics component set onto build server (this not option)??

  • if delete them projects, build might work (haven't tried yet), design time experience suffer / not work (which of two?)
  • having files around design time experience works prevents automatic build running through....

hmmm.... classic catch-22 - way out of this??

the way found solve problem this:

  • create absolutely empty (0 byte length) file licenses.licx in folder solution resides
  • during initial stages of build, source extracted source repository
  • when time comes, before build begins, copy empty licenses.licx on existing licenses.licx in various projects' properties directory

with this, have both interactive experience working (since proper licenses.licx files present), automatic build doesn't break (since empty licenses.licx file copied on real ones doesn't cause aborts in build)

seems bit hackish - works. hope helps someone, somewhere, day.

update: added beforebuild step msbuild build file copy empty *.licx file locations need:

<target name="beforebuild">    <createitem include="licenses.licx">        <output taskparameter="include" itemname="emptylicenseslicx" />    </createitem>     <copy sourcefiles="@(emptylicenseslicx)"           destinationfolder="(your-target-folder-here)"           continueonerror="true" />  </target> 

since need replace *.licx file in several places, have several of <copy> tasks achieve goal.


Comments

Popular posts from this blog

unicode - Are email addresses allowed to contain non-alphanumeric characters? -

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -