We are moving to VS2012 from VS2010 due to which we have to opt for WIX for creating setups.
I am facing an issue in VS2012. I have created a wix setup and output gives me a msi and an exe.
I want to rename this exe with in post build event but the post build rename command fails because .exe is creating after execution of post build events.
Issue is in wix project only.
Related
We are trying to generate a click once application using azure devops pipelines.
During this, we publish the project to create a setup.exe. All the pre-requisites required are ticked, the project builds and publishes the setup.exe without any issues.
However, every time the setup.exe is run we see the prompt in Image 1.
Image 1
We have ensured the installURL is correct, and the .NET Framework 4.7.2 is on the build machine and install machine.
When we publish the project in visual studio, the setup.exe does not show this prompt.
Does anyone have any idea how to stop this prompt showing or what we could try next?
In your Visual Studio build task in your pipeline, make sure you have Visual Studio 2019 selected due to a bug in earlier versions of VS.
https://developercommunity.visualstudio.com/content/problem/743594/dotnetfx472-and-dotnetfx48-not-finding-information.html
I am using TFS 2012 build option to build my web application. I have couple of console application in the solution. I want the console application output to be copied to the bin folder. In visual studio, I am doing this by using the copy command in the Post build event command option. But this does not work in TFS builds. The generated exe is not copied to the _PublishedWebsites folder in the BuildAgent directory
Possibility duplicate to Problems with MSBuild OutputPath and OutDir in TFS2010 .
Also give a try wiht this NuGet package, you can install it which will do this.
With TFS 2012 build process template, you need to custom build process template to run the script after building, like the post-build scripts feature in TFS 2013 build process template.
You can refer to this article to custom build process template to achieve your requirement.
I have a VC++ (unmanaged) project to which I added performance counters using manifest method. Everything is working great and I even have build steps that do manifest compilation and automatic registration using lodctr.exe tool with /m:manifest switch.
The problem that I'm running into is that I now need to make installer (VS2008 Installer project) do registration on install (unregistration on uninstall).
I tried to set it up by having a custom action that referenced lodctr.exe tool with CustomActionData set to /m:[TARGETDIR]PerfMon.manifest and similar setup using unlodctr.exe for custom uninstall action.
When installer runs, I do see a brief flash of cmd window (which is ok), but counters are not getting registered. I ran SysInternals' ProcMon tool, and I don't see lodctr.exe process even created.
I tested that running lodctr.exe manually on target machine registers the counters.
I googled for an example or explanation how to do it with Visual Studio installer project, but came up empty. It has some .NET oriented examples, but nothing for unmanaged, hard and cold VC++...
How can I register performance counters manifest using installer project?
Visual Studio installer project has very limited functionality. Starting from Visual Studio 2012 Visual Studio installer project is not supported, you should consider to use Windows Installer XML (WIX) instead.
Include your manifest into WIX project and use WIX's PerfCounterManifest with it.
I created an InstallShield setup project in Visual Studio 2012. In the Application Files section of Project Assistan, I added "Primary output" and "Localized resources" files by using Add Project Outputs button after that completed all other sections. When I trying to build setup project, I'm getting an error like below.
Could not resolve Visual Studio .NET project output '{ProjectName}.Localized resources' from component {ProjectName}.Localized_resources
I have three different projects in my solution and I have got this error for two projects.
If there is no any localized resource in a project, InstallShield gives this error. To avoid this error (maybe you will complete all resources localization when project completed but you need to setup now) and complete setup project building, at least one resource file must be localized in project.
For VS2010 and before I was utilizing Web Deployment Projects (WDP) to help package my website for production deployment. I had a MSBuild script that compiled the solution in release mode. An output of that was production ready website files compiled and cleaned by the WDP.
I see for 2012 WDP have been removed, and a new tab has been created in the properties for the web application. The options are the same, but now the invocation of this is done via the Publish option (before you just compiled in release mode).
So the question is this. From an MSBuild script, how do I invoke a Publish operation? I found some old posts that...
msbuild /target:publish
would do the trick. But that doesn't seem to work in 2012.
Also, I tried in my msbuild task...
<MSBuild Properties="Configuration=Publish;"
StopOnFirstFailure="true"
Projects="$(BuildDirectory)\MySolution.sln"></MSBuild>
...but msbuild just reported "unknown configuration".
How can I have msbuild run the publish option from the command line?
It appears that there are now some other options for publishing from the command-line. Specifically something along the lines of the following seems possible now with some RC updates to Visual Studio 2012.
msbuild mywap.csproj /p:DeployOnBuild=true;PublishProfile=MyProfileName
For more details check out this post by Scott Hanselman and check out the section on Publishing.
I wasn't able to get the publish to run, but looking at the output from Visual Studio I think I have found an alternate solution. Turns out the obj\Release\AspnetCompileMerge folder has a deployable and clean version of the project. It contains byte identical files to the final output folder.
I did have to change my msbuild script to include the DeployOnBuild option...
<MSBuild Properties="Configuration=Release;DeployOnBuild=True;"
StopOnFirstFailure="true"
Projects="$(BuildDirectory)\BigWave.ALL.sln"></MSBuild>