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 existinglicenses.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
Post a Comment