Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio
All postings are provided AS IS
with no warranties, and confer no rights. Additionally, views expressed
herein are my own and not those of my employer, Microsoft.
A while back, I posted some instructions that can be used to run a post-build script to modify the custom action attributes of an MSI created by the Visual Studio 2005 setup/deployment project wizard. This script is particularly useful to set the necessary attributes to make a custom action work correctly with User Account Control (UAC) on Windows Vista (as described in more detail in this blog post).
Since I posted those instructions, a couple of folks have contacted me to let me know that the jscript file provided in that post works correctly when it is run manually, but the steps to run it from within Visual Studio 2005 as a post-build step were failing.
I finally found some time to investigate this issue, and I discovered that I made a typo in the exact name of one of the variables being used in the post-build step. This was a little tricky to narrow down because my typo was to spell the variable in what should be the correct way - $(BuiltOutputPath). However, the actual variable name expected by MSBuild and Visual Studio 2005 is $(BuiltOuputPath) with the word spelled "ouput" instead of "output."
At any rate, I have modified the original post I wrote about this topic, and here are updated instructions that can be used to set the NoImpersonate bit in a Visual Studio 2005 setup project as well:
<update date="1/17/2011"> Fixed broken download link to the sample script. </update>
Ouput = Optimal Unrestricted Path Under Test
Plus the spec doesn't mention the variable name. (Couldnt resist sticking up for the devs)
Hi Samir - Thanks for letting me know about the OUPUT acronym. I hadn't realized that it stood for something :-)
That error message was highly confusing. Thanks for the script, which appears to works perfectly.
I am unable to download the script file. The link seems to be broken. I am having this exact problem. I am in very much need of the script so I can fix my install on Vista machines. Thanks...
Hi Steve - My file server is currently down, but if you can contact me via email, I will be happy to send you a copy of this script. You can contact me by using http://blogs.msdn.com/astebner/contact.aspx or by emailing Aaron.Stebner (at) microsoft (dot) com.
I'm sorry for the inconvenience.
I am not able to find the value of the macro $BuiltOuputPath/$BuiltOupuPath. I am using this variable in windows service (VS 2010, .net framework 3.5) post build event command line.
Please let me know what am I missing?
Hi Richa - The macro described in this blog post is only valid in setup projects, and it must be spelled $(BuiltOuputPath) with the word "ouput" spelled incorrectly. Can you please confirm that you're using this macro in the correct type of project and if so, please also confirm that it is spelled exactly the way that it is listed in this blog post?
Yes I was taking the macros from windows service project. I have now taken the property of setup projects...and it works fine :)
Thanks a ton Aaron !!!