13Homer pointed out my Visual Studio 2012 libraries were actually built using VS 2010. All I can say is “Doh!” That’s fixed now, just install the latest http://kalx.net/dnload/setup.zip. As an added bonus, you should see the Xll AddIn Project template show up in Visual Studio 2012 now. I figured out how to wrestle WiX into installing files outside of TARGETDIR. Where by I figured it out I means some clever guy gave me the right hints. I would rather poke flaming stakes though my eyes than use InstallShield Limited Edition, Limited being the operative word.
I spent some quality time today learning some new tricks. James Abbot McNeill Whistler has a great quote. (When Oscar Wilde heard a witty remark and said “I wish I had said that,” Whistler replied “You will, Oscar, you will.” Whistler has a lot of great quotes.)
Industry in art is a necessity—not a virtue—and any evidence of the same, in the production, is a blemish, not a quality; a proof, not of achievement, but of absolutely insufficient work, for work alone will efface the footsteps of work.
He’s right about that. I’m always struggling with the complexity of software. The volume keeps increasing and it is difficult to keep up. Sales guys know all about profiling. Dump a customer as quickly as possible that is never going to buy. Same story with programming languages du jour that are a waste of time to learn.
Let’s get down to the dirty bits. This post is about $(PlatformToolset). If you install the latest version of the xll library and your project can’t find
xll.lib right click on the project, Properties > Linker > General. Change Additional Library Directories to
New projects should work fine. If I were Whistler, I would man up and figure out how to put in links from the old 10 and 11 folders to v100 and v110. It is probably easy to do if you know the proper WiX incantations. Happy to put that in if anyone knows how.
This is what I worked on today: http://xll.codeplex.com/SourceControl/latest#trunk/build/setup/Product.wxs.
WiX really, really wants you to install every file under the
TARGETDIR. For good reasons. But this shows is a way around that. Define any directory you want under
SetDirectory to any value you want.