Skip to content

WiX on the build server

First post in a long while and its about WiX. I was trying to get a WiX project to build without having to install it on the build server. First off I followed this . I had to conditionally set the $(SourceCodeControlRoot) like so

<PropertyGroup>
  <SourcesDirectory Condition=" $(SourcesDirectory) == ''">$(MSBuildProjectDirectory)\..\</SourcesDirectory>
  <WixToolPath>$(SourcesDirectory)tools\wix\3.5\</WixToolPath>
  <WixTargetsPath>$(WixToolPath)Wix.targets</WixTargetsPath>
  <WixTasksPath>$(WixToolPath)wixtasks.dll</WixTasksPath>
</PropertyGroup>

However when building the project it crashed visual studio with a help error message like

“could not load Candle.exe or one of its dependencies, Operation Not Supported”.

Googling turned up a bunch of issues around 64bit image formats which didn’t apply. Digging a little deeper revealed this error message

“An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.”

I wasn’t loading it from a network location it was right there on the local file system. I had downloaded the latest binaries zip file for WiX 3.5 and unzipped it straight into the directory like the above link mentions. Since it was download from the interwebs the files had been marked as blocked.


Blocked file message

Blocked File Message

Now what I needed was a way to remove the blocked attribute from all the files, there was no way I wanted to do it manually. Luckily SysInternals has a tool called Streams which will clear that attribute from all files in a directory.

How I got those files into that state in the first place I’m not sure because I tried it again and the files weren’t blocked. At least I managed to figure it out.

Professionalism

RailsConf 09 – Robert Martin – What killed smalltalk could kill ruby, too

If you take anything at all away from this talk its Robert Martin’s answer to the last question, which boiled down to this: “Professionalism is honour, honesty with yourself and disciplined in your approach and not succumbing to fear and throwing away all your techniques in the face of a deadline.”

The last attribute reminds me of another quote “Anger, fear, aggression. The dark side are they. Once you start down the dark path, forever will it dominate your destiny.” – Yoda

This struck a chord with me, Am I being professional?

Where’s the code?

I should probably post some code based stories in this blog at some stage. I have one more post in the works about teams and communication and then I’ll start to post some code oriented entries, maybe some rails stuff.

Decisions in isolation

Decisions made in isolation are often wrong. I’ve been told on occasion that I don’t give enough information and that I’m too optimistic. Both are a fair call and I’ve tried to address those in what I do. It’s good to have feed back because changes cannot be made in an insular environment.

The same rules apply when trying to effect change in a team environment. A team needs to be able to look at the practices and process that are being used and be able to critique them, it’s a vital skill to learn. When decisions are made without input from the team and then forced on them its bound to fail. I realize that not all decisions can be voted on and that someone has to make the decision but that decision needs to be made with all the information.

When making decision make sure that you have ALL the information that you can get.

Debugging Euphoria

This is what coding is all about, searching and searching for that elusive bug and finally terminating it.

Coding is a strange game but one I do love. I hold a senior position at work and consequently I seem to be doing more of the things that don’t including coding but this week I was neck deep into debugging. We’ve been trying to tack down a performance related bug way down in the comms layer and not haveing much luck. I was thinking that this coding caper runs you through an emotional rollercoaster. It started with frustration and self doubt about not being able to locate this persistent little creature. Next it was depression and the question of “Why am I doing this, I don’t need it”. After a bit of wallowing in the depression the “I can do this, it can’t be that hard” kicks in and you try to pull yourself out of the depression pit. Hope and the light at the end of the tunnel is next and finally, finally the euphoria of success. That euphoria when the bug is finally nailed makes it all worth while and all the bad times seem like a distant memory.

I really do enjoy coding.

A day at a time

What kind of company do I want to create:

  • Everyone should enjoy what they do, they should feel empowered by what they accomplish not belittled
  • Flexible (family oriented)
  • Work with like minded people
  • No company politics
  • Innovative
  • enthusiastic coding environment

Think Readify+37Signals = great place to work.

The balancing act

I’ve been reading and hearing bits and pieces of late and it’s all resonating with me. Since the birth of my son my priorities have significantly changed and I can no longer work the hours I used to. A post by Andrew Stopford really clicked with me. The choice is to spend time with my child as he’s growing up and being a big part of his life or continue to work the way I have been. There is no choice, my son wins hands down.

The difficult part for me at the moment is that I’m feeling ineffectual at work and guilty because I can’t put in the hours I used to. The culture that I’m working in at the moment is one of if your seen to be putting in the long hours your doing your bit for the company irrespective of how effective you are. I’ve almost come to the conclusion that its time for a change at work as well. This is a little harder choice to make as the fear of not providing for my family scares me. I wish I could find an employer like 37 Signals, maybe its time to branch out on my own and create such a company.

My Son

I just had to post this, my five month old son. I adore this little person and cant imagine my life without him.

Inaugral Post

Over the last year or two I’ve learnt alot. It’s been a broad learning experience as well. It has seen the birth of my son, the death of my father and changes at work. Its made me realize that if there is something you want to do then you might as well do everything you can to make it happen. Its all about the journey and what you learn along the way.

Before parenthood life used to be so easy but now its alot more complicated. The time before kids the only thing that I had to worry about was me, my decisions only affected me. Now I’ve become alot more unsure about the decisions I do make, they affect alot more people now. I guess all I can do is make the best decision I can and realize that making mistakes is how we learn. 

My father’s (actually my step-father) death affected me like nothing I’ve gone through before. It made me question what I was doing. He was the sort of person who followed his dreams and everything he did was a step closer to that goal. I looked at my life and thought “Where am I’m going”. The answer was nowhere. I either didn’t have a goal to chase or didn’t know what I wanted, I had to answer that question. I was almost at the point of giving software development away, but I do enjoy developing but at that point in time I hated it. I started reading blogs and found that there were people out there who were passionate about software. Reading others’ thoughts and views on different topics made me realize that the only way to get out of the rut I was in was to start to do something, anything. This is where this blog comes in. I’m going to use this forum to get my thoughts and passions out there, be a part of the community instead of isolating myself.

Who knows I might even be able to improve my writing skills  ;)So there it is, short and sweet.

Follow

Get every new post delivered to your Inbox.