I have a problem with ClickOnce publishing of a WPF application.
If the application is built (debug or release), it is running correctly.
Application published by ClickOnce crashes.
I tried to change Target Platform. Sometimes this change helps to solve problems, but not every time (1 of 20 cases).
I have Visual Studio 2008 and the project has been upgraded from Visual Studio 2005.
Any ideas?
Thank you in advance!
On the machine where the application is installed, drill down in the user profile to the ClickOnce cache, and look for the cached application files. The folder will have the exe and all of the assemblies, etc., in it. Our winform app creates two folders, xxxx_tion is the one the application runs from.
Find the exe file and double-click on it to run it. This essentially runs the application without the ClickOnce-ness of it all. If it crashes, then it is not a ClickOnce problem per se, it is a problem with your application.
I would check and make sure you are deploying all of the files you need, you don't have references to multiple versions of the same dll, you don't have circular references, etc.
Good luck,
RobinDotNet
There is a long discussion on http://social.msdn.microsoft.com/forums/en-US/wpf/thread/3e6909ef-2ab1-4b77-8bc2-796c065a6219/
Solution that worked for me (send by pindurav on page above):
I rebuild whole solution
close visual studio
open visual studio, open project and directly publish without building.
= no app.xaml exception
Related
I created a WPF application using telerik control suite (WPF telerik controls and ORM access control) and SQL Express R2 2008 in VS 2012.
Then I created its setup files (using install shield LE and also Advanced Installer) which works on my win7 system, properly () .but when I install the setup file on any other win7 system, it doesn’t work( I am getting this error: “MyAPP has stopped working”).
I installed .NET framework and SQL Express R2 2008(the service’s status is running) and I also copied the mdf and ldf files related to the database in right path that specified in app.xaml.
When I install my setup files, it just copy my project’s debug folder (contains the telerik control dll files, the dll file related to my ORM access control project, built exe file and etc.). I think that’s enough. Isn’t it?
Edit:
The project's Solution's Explorer:
\bin\Debug
I have no idea what to do.
I would really really appreciate any hint or comment.
Regards,
Hiva
I know this is a very general answer although without knowing the details of your project it's the best I can do. I remember when I was creating an app using telerik controls, when I went to publish it I was getting errors in the with the assembly which was a result of including the obj / Debug / Release folders in my project. I tried everything that people listed to get rid of the errors but the only thing that helped was creating a new project, copying in the code and NEVER including(Never right clicking and hitting include in project) those folders in my project.
Is it working when you debug it?
Could you please let me know what steps you are taking to publish the app ?
This question is different from the questions posted here and here even though the titles are the same.
The problem arises intermittently. The error always occurs if the project has been cleaned or is being built from a fresh checkout. Pushing build again immediately usually results in the build succeeding. The stacktrace I get is:
error MSB4018: The "CreateRiaClientFilesTask" task failed unexpectedly.
System.AppDomainUnloadedException: Attempted to access an unloaded AppDomain.
at System.IDisposable.Dispose()
at Microsoft.ServiceModel.DomainServices.Tools.CreateRiaClientFilesTask.GenerateClientProxies()
at Microsoft.ServiceModel.DomainServices.Tools.CreateRiaClientFilesTask.ExecuteInternal()
at Microsoft.ServiceModel.DomainServices.Tools.RiaClientFilesTask.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__1c.MoveNext()
The problem also occurs intermittently during regular edit-build-execute cycles, and sometimes a restart from Visual Studio is required to make it work on these occasions.
The problem occurs both in MSBuild and Visual Studio 2010. I have all of the latest updates installed (WCF RIA Services SP2). It occurred when using the Silverlight 4 tools, and upgrading to Silverlight 5 has not solved the problem. The problem also still occurs in the beta of VS 11.
I've not been able to change the order of the build as described here (referenced from here) as MSBuild complains of a circular dependency and Visual Studio says that I can't reference a non-Silverlight project from a Silverlight one. From that page I have also tried following this link and changed the default ToolsVersion from 2.0 to 4.0 in the registry.
I'm definitely using the 32 bit version of MSBuild, as trying to use the 64 bit version fails with failing to Hydrate the entity framework model. I'm not using the /m switch to build it in parallel either.
The project was initially a web project (which hosts the site that the Silverlight control lives on, RIA services, and contains the Business logic) and a Silverlight project. Changing this to 3 projects (with a class library containing the logic) doesn't make any difference.
The next thing I'm planning on trying is having the project hosting the RIA service separate from the one hosting the Silverlight app, but that's not ideal for us (and I'm not even sure it will work).
In my case, this exception was caused by McAffee's anti-virus application. Disabling the 'On-Access' (or was it 'On-Demand') feature resolved the issue.
I had a similar issue in the past with Microsoft's Security Essentials which was resolved by adding the exclusions below. I suspect that it is the 'Temporary ASP.Net Files' folder exclusion that would be required to solve the issue here.
Excluded Files and Locations
C:\Temp\Default\NuGet.exe
C:\Temp\NativeImage\NuGet.exe
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
NuGet.exe
Excluded Processes
C:\Program Files (x86)\Common Files\microsoft shared\DevServer\11.0\WebDev.WebServer40.EXE
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Microsoft.VisualStudio.Web.Host.exe
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
This exception is driving me crazy! I also tried to clean ASP.Net temporary folder, clean all projects in the solution, run VS as administrator etc. But still I have this problem. My solution to the problem is twice rebuild Web project.
In our case we ran into the same problem as reported in another answer to this same question (https://stackoverflow.com/a/14125687/223837): McAfee strangely interfered with the files in 'Temporary ASP.NET Files'. But in our case we could not disable McAfee or change the excluded folders because of company policy.
But we found a different solution: what we did is update the machine.config file (in our case C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config), and add a <compilation tempDirectory="..."/> element, as follows:
<configuration>
<!-- snip -->
<system.web>
<!-- snip -->
<compilation tempDirectory="c:\A_FOLDER_THAT_IS_SKIPPED_BY_MCAFEE\TempASP.NETFiles\"/>
</system.web>
<!-- snip -->
</configuration>
(Inspiration for this solution direction came from an answer to a related question: https://stackoverflow.com/a/1255303/223837.)
I had the exact same thing happening to a couple of my projects. I found (inferred really) it was related to my upgrade path of RIA and Silverlight. I got a new machine, with all the updates on and it STILL happened. However, when I re-created the projects from scratch (copying the files over, and settings, NOT the 'generated' assembly information), the problem went away.
Not a definitive answer you'd expect I suppose, and to be honest, re-creating the solution from scratch was a pain. I do suspect (and the only conclusion I could bring) it was related to some GAC declaration or other that was asking for an earlier version of the RIA framework.
I HAD installed a version of RIA and coded using it, and there were a couple of Silverlight updates that happened in quick succession during this time. I have had no problems since.
I found a solution to this problem which has so far fixed the issue on every server and client that I've run it from.
My initial project layout had a Web Project which acted as a host for both the RIA components and the Silverlight app itself. I created a class library for the RIA services, moved all of my RIA logic into there and added a reference to it from the Web Project. Then I updated the RIA link in Silverlight to point to this new project.
I had to add the following line into the Silverlight app.xaml.cs file so that authentication worked.
((WebAuthenticationService)WebContext.Current.Authentication).DomainContext
= new RiaNamespace.AuthenticationDomainContext();
Remove or disable your virus-scanner during build. Worked for me too!
I had the same problem.
I just changed the "Assembly Version" number and my project was OK.
I have developed a WPF application and I need to try it on other computers.
1- I change my project properties to build in release mode and rebuilt project. However, /bin/release folder is empty and it still generates /bin/debug folder.
2- I selected publish and install it on other computers. Funny thing is, the program is not running if that computer does not have Visual C# (.Net Framework, Sql server etc. does not cause a problem)
3- I added a installer and add project output(release) to this application. It says /bin/release/abc.exe couldn't be find.. Changed it to project output(debug) and it builds fine. However, this setup is not even working on my computer..
So my question is simple... How can I publish WPF application in release mode and how can I run them on other computers without installing Visual C#. Thank you in advance
Check properties of your project, and set output folder for Release configuration.
You need .NET 4 framework installed on PC, to run (simple) WPF application.
Should work, when you set your output folder, see 1.
I made a setup project for my windows forms application and then installed it. It properly created a shortcut on desktop. Now when I double click it to open, it shows a progress bar like thing saying Configuring application. After that, my windows form appears and runs normally.
I have no clue why this is happening. My earlier version for the same application was running properly with o. Also if I install the previous version, it starts normally without any problems. Only the setup files that I am creating now are showing this problem.
Any one having any clue...
You created a ClickOnce installation. You probably wanted to create a standard Setup Project. IIRC, there was some issue with this type of project in Visual Studio 2010, as in the project type is being depreciated, but I can't seem to find anything about that now.
Other alternatives are using WiX or the limited edition of InstallShield.
Oddly enough, the ClickOnce installer is pretty good, assuming you have the infrastructure to support it (a spot on the web where you place updates) and don't mind the nonstandard behavior (that weird dialog on start). Frankly, installer technologies right now in the .NET world suck. They're all extremely complicated and fail to insulate the developer from the intricacies of how installers work with Windows.
To turn off ClickOnce, IIRC, do the following:
Uncheck "Sign the ClickOnce manifests" on the Signing tab
Uncheck "Enable ClickOnce security settings" from the security tab
remove any references to "System.Deployment" from your projects
Does anyone know how to specifically include a winforms setup project to be included in the code_drop folder generated when running UppercuTs zip.bat? With the default settings my web applications and WCF services are included, as are the dll's for the solutions core, but not my winforms application/installer
I was just playing around with UppercuT last night, and I ran into the same question.
One tip I found for putting console apps and windows services into the code_drop is to use this Nuget package in your console/windows service projects:
http://nuget.org/packages/publishedapplications
See this for more info:
http://devlicio.us/blogs/rob_reynolds/archive/2011/03/22/published-applications-aka-publishedapplications.aspx
Using this will cause your console/windows service projects to be "published" similary to how a web app is published in the code_drop. However, this isn't what you're asking for, just wanted to point it out if its useful. This also doesn't work for installers.
If your installers are using the default Visual Studio setup projects (.vdproj projects), I haven't tried that, so I can't help there. I do know that MSBuild refuses to build those types of projects (not sure why...), so you might be better off using WiX or another installer technology. You can do an automated build on a vdproj if you run the build by calling devenv.exe directly from the command line, but you can't build those with MSBuild. I did try adding a WiX setup project to my sln, and UppercuT will build the Wix setup project and drop the .msi in the "build_output" folder, but it doesn't copy it over to the code_drop. My thought would be to add a custom post build step to just copy that file over from build_output to code_drop. I haven't had a chance to figure out the logic in the build scripts to see how it chooses which files to copy from build_output to code_drop. If I figure anything out, I'll update this answer.