Activating Debugging Symbols with Add-In Express

Some time ago I published a blog post about an add-in that I’m building, and the reasons why I elected to start using Add-In Express to manage the process.  I still think Add-In Express is the best product for this kind of task, but figured I’d publish this post mainly to save me time the next time I get a new PC and have to go through this again.

The issue I ran into is that I need to set the CLR to work with .NET 3.5.  To do this you have to set the host file to v2.0x.  This is pretty easy, and Eugene has a good picture on how to do this here:  http://www.add-in-express.com/forum/read.php?FID=5&TID=7912

Following the steps that Eugene provided set me off to the races… with Excel 2010.  But when I tried to debug in Excel 2013 I wasn’t having much luck.  I changed the “Program to Start” to Excel 2013, set a breakpoint in my code, and started debugging.  Even though I’d set a breakpoint in my code, it was never activated.  Instead, the breakpoint goes from a red dot to a red circle with a white fill, and mouse-ing over it yields the message “The breakpoint will not currently be hit.  No symbols have been loaded for this document.”

SNAGHTML64bc16

This really sucks, as it’s pretty tough to work with.  So what’s different, and how come Excel 2010 works, but Excel 2013 doesn’t?

The action of modifying that host config file as described by Eugene actually creates a new file that is stored within the appropriate Office subfolder held within the Program Files folder.  Unfortunately, the program that is defined in your “Program to Start” settings seems to be ignored, and it actually creates the file in the folder that holds the oldest version of Office on your system.  So in my case it created the following file:

  • C:\Program Files\Microsoft Office\Office14\excel.exe.config

Now, I stand to be corrected on this, but I believe that this file is only used when launching the debugging tools from Visual Studio.  When the app is started it will look for this file and, if it finds it will use it to provides the debugging symbols back to Visual Studio for the .NET framework specified.

At any rate, the key here is to copy this file and paste it into the same folder that contains the exe file specified in the “Program to Start” area in the Project Properties of Visual Studio.  And once you do that:

SNAGHTML72dbee

Beautiful!  Works nicely.

It’s also worth mentioning that this setup works whether you are using a version of Office that comes from an MSI installer file (such as a DVD or volume license version of Excel/Office), or if you are using the Click to Run (C2R) version of Office that you can download from Office365.  The only thing you need to be concerned about is the file path in which to store the config file and find the Excel.exe executable:

  • 64bit MSI:  C:\Program Files\Microsoft Office\Office15
  • 32bit MSI:  C:\Program Files (x86)\Microsoft Office\Office15
  • 64bit C2R: C:\Program Files\Microsoft Office 15\root\office15
  • 32bit C2R: C:\Program Files (x86)\Microsoft Office 15\root\office15

I know this isn’t super Excel focussed, but hopefully it will help someone out there if they run into this error.

I should also throw a shout out to Andrei from Add-In Express who helped me sort this out last time I needed to figure this out.  The support there was awesome in helping me get it resolved.

Designing Software – How do YOU start?

Today I’m working on building a new reporting system at my day job.  Basically we’re looking at creating tools to budget and forecast results to be reviewed weekly, with a goal of being more on top of results so we can react better.  The stuff that every business really wants to do.

I’ve got the reports that we want at the end, and now I’m looking at them trying to figure out where to get the info from, how quickly it will need to be updated, where to source info that isn’t readily available and all that good stuff.  By the time we’re done I’m sure we’ll be hitting on Access, SQL Server, Excel, VBA, Power Pivot and Power Query, and possibly some other tools I haven’t thought of yet.

So at the end of the day, I’m building a system here.  Something to be used daily to capture, store and report on information.  Built of a collection of different pieces and technology, I’m essentially building my own software solution to a business problem.

I started with some sketching on paper, trying to illustrate the overall data collection/storage points and program flow.  Then I moved to Visio to try and draw it there.  (The pieces needed to move around as I added new dimensions and considerations.)  Then I got stuck on some of the considerations… some of them were big enough that they could change the way things were done.

Now I’m in Word trying to state – in English – the goals and non-goals of the overall project, so that I can get an overview on paper.

I’ve got a meeting this afternoon with a key player/driver to talk specifically about:

  • What the system should do
  • Key points that is absolutely will not be required to do
  • Key points that we want to make sure do not happen (different from above)
  • Who is going to use the system (each part)
  • How it’s going to be updated (each part)
  • How often updating will be needed for information drivers

I’m hoping with those stated that I can do two things:

  1. Get answers to the major design changing considerations I need before I build anything, and
  2. Generate a list that I can go back to later to ensure I haven’t overlooked or missed anything when I’m designing the system.

While I’m keenly aware that I’m not going to get everything covered, and that some design considerations will need to be made on the fly during development, I want to minimize the chance that any of those will major issues.  I hate coming up on a blocking point part way through the implementation that forces design re-work and retrofitting.

Now I’ve done this kind of things many times, but I don’t know that I’ve ever felt that I’ve settled into a piece of software that really works for me when trying to design this stuff.  I usually end up with Word to track goals, Visio for the flowcharts, but there’s a lot of iteration to get through it.

That’s the reason I’m reaching out here, is to see what others do in this area. I’m curious as to what tools/processes YOU use to scope and design a BI system or software.  Do you start with a goals document, do you start with flowcharts, or something else?  Are you happy with your process, or are there pain points and gotchas that you still get hit with?