Here's the situation:
I'm on a team developing a large WinForms application. When Telerik released the 2013 Q2 release, we upgraded. Some of the changes caused errors in our program. So we rolled back to the Q1 installation and decided to upgrade in a controlled environment. So we got an extra computer, installed the new RadControls release and fixed all the issues. Now we're attempting to test on another computer, and we're getting errors. Everything works fine on the computer with the new version installed. When you try it on a computer with out the latest version, it crashes.
We're using TFS for source control, and the references are pointing to DLLs included in the source control, so I know that the references are pointing to the Q2 DLLs. Also, if I move C:\Program Files (x86)\Telerik, the program works fine (on the same computer where it was already working). Therefore, I know that there are no hidden references to the DLLs in Program Files.
My question boils down to this: in order for those DLLs to work properly, is it required that RadControls be installed on a machine and for the installed version of RadControls to be the same version as the one in the build?
Maybe RadControls is pointing to some system thing that happens when you install the Q2 stuff. I really don't know how it all works behind the scenes. I'm just shooting in the dark now.
No, installation is not needed for the assemblies to be working and simply referencing the correct assemblies should allow you to run the project. Basically, setting the CopyLocal to true of the Telerik assemblies and copying the bin folder to another machine without installation should work with no issues.
Related
I created a new WPF project. I copied the built .exe file onto another computer and tried to run the application. But nothing happened. It was just loading. Nothing more.
All my WPF projects do this thing.
What am I doing wrong? Has anyone any idea?
Edit: For somebody in the future: the question might not be clear. What I meant was that I created a simple WPF application with nothing in it and tried to run the application on another computer. I wasn't able to make it run. Just nothing appeared. I figured out that the Avast Free Antivirus was causing this problem. When the antivirus is turned off, it runs as expected. Even though it is no solution, at least we know, what was causing the problem.
You are probably missing the dot net libraries on the target machine.
For quick fix, download the dot net framework distributable for the .net version you compiled against and install it on the target machine. Here is 4.5.1 for example.
For actual distribution, look at creating an installer that will ensure all dependencies are installed with the application. InstallShield has a limited edition which may be included with your edition of visual studio
Try publishing your application using click once. You can do this by right clicking on your project > Publish > Specify the location to publish your application > Finish. Copy the files inside the Published folder to another computer and try installing by click the setup.
Note: The instructions I said above only works if you only have basic functions on your app. If your application uses SQL Server, you need to install it first on the computer that you will be installing your application in.
For your reference. How to: Publish a ClickOnce Application using the Publish Wizard
I have devoloped a C# Application to search a certain directory, read in any files containing a certain string, and then compare those to a database and do various things with said information. I need to upload the project\exectuable to another machine where it will contantly run on a timer, however Every time I try to open the exectuable on any other device I get the windows error, the GradeUpdate (my project name) has stopped working. I created the project in Visual Studio 2013, and only have a few references out of the ordinary which are as follow, and I made sure these references are in my release folder that I copy over to the device which I need the program to run on.
MySqlData.dll
MySqlWeb.dll
I recreated the project from scratch thinking it may be a naming issue, but this did not make a difference. In addition a C# application written in Studio 2010 works on the machine that I am trying to access, however the 2013 application I wrote does not. I believe there may be some local file not included in the project folder that it access's on my local computer, but that is my best guess, any and all suggestions would be very welcome!
Could it be that the machine doesn't have the version of the .NET runtime you're targeting? If you're using Visual Studio 2013, your app may be targeting .NET 4.5. Can you make sure the target machine has the .NET 4.5 runtime installed?
the infamous works on the machine this is a common mistake that beginners make when learning to code.. just because it works on your machine will not guarantee that it will work on others I would first look at the properties of the .dll / assemblies and make sure that you have the CopyLocal property for the dll's set to true make sure that not only are you adding the assemblies in the using header section, but manually adding them to the reference node.. also make sure that the target machine has the same .net framework installed on their machine.
I searched around but I could not find anything on this.
I have programmed a c# application in VS 2010, targeted to .NET Framework 4.0. It has a .DLL and a few config files which I have being copied to the output directory upon compilation. It works great on my computer, I have .NET 4.0 Extended and .NET 4.0 Client installed. I set the build configuration to "release" on "any CPU".
After it compiles I copy all the files from the release directory to a folder on a shared drive, so that multiple computers on the network can execute it. When I execute it from the computer that I used to develop it, it runs great. When others try to execute it starts but just shows a small blank form, and that's it. I make sure that they have .NET 4.0 installed (Both Extended and Client, though I think the full version is what is really required).
I can't for the life of me figure out why it does this.
All machines are running 32 Bit Windows Vista SP2.
Any thoughts? Much appreciation for any help.
It can be a lot of things. First, like one comment, you should do a quick Deployment project and try to install on another computer to see how it work.
If you can't do that, here a couple of things to check:
It can be a network permission problem. I've seens an .NET application that could not be executed on the network for x reason but worked on the desktop. To check, make sur your user copy it on their computer before executing.
I don't think it's a .NET problem because it wouldn't let you start the application.
My guess is that one of your control/library (the one that is not showing) does not have the proper reference when run from another computer. To check, run the application "Dependency Walker" (you can find it on google) and see what DLL are missing from other computers.
That's all I can think for now ! Good luck! You just have to use ellimination method and you will find the problem.
Ive developed a winforms application on my local machine using .net 4.0 and it runs fine. I have all dotnet versions installed.
When I copied the .exe and all of its references (the complete bin\debug and bin\release) to another machine it simply does not run. On one of my VMS it fires up visual studio express and asks if I want to connect a debgger. On other machines it just doesnt do anything.
But I can work out what on earth is going on.
I have referenced soem xceed dlls that are installed in GAC but not on the target machines GAC could this be the problem?
How do I tell what the hell is going on?
Pete
Yes, the xceed dlls (and every other referenced dlls) must exist on the target machine -- either included in the application directory or the GAC.
You may try specifying "Copy Local = true" to the suspect references, and rebuilding your project, so that these dlls are specifically included with the compiled assemblies.
if you deploy the pdb-files to the one VM with VS Express installed you should be able to connect the debugger and see the exception details. And yes, a missing assembly can (or better: will) cause that kind of behavior if the assembly is not only referenced but actually used in your application. I would generally recommend to implement some kind of error logging (either to the event logs or to a text file).
Have you checked that the other machine has a version of the .Net Framework installed? Failing that try to publish the application using the ClickOnce tool.
ClickOnce will download and instal any missing dependencies for the .Net Framework if necessary.
Can someone tell me how I go about upgrading the Telerik ASP.NET controls? I am currently using the Q3 2008 release and I just recently bought the Q1 2009 SP1 release. How do I upgrade my projects? Do I need to uninstall the old one and install the new one or just install the new one? Also how do my projects get upgraded? Also, what about my projects that I have "live"? Do I just need to upload the new DLLs and and change my web.config? Any guidance would be great!
Updating RadControls for ASP.NET to another version or license
http://www.telerik.com/support/kb/aspnet-ajax/general/updating-radcontrols-for-asp-net-to-another-version-or-license.aspx
If you have multiple live sites I recommend keeping them all in the same version of Telerik RadControls. If you deploy compiled assemblies to your sites, and you compile with different version of RadControls that is found in the site's /bin or the server's GAC, you'll get an error. (At least without assembly redirects, I guess)
I have upgraded RadControls multiple times in the past year with the following process:
Full install of the new RadControls version in the dev machine
Replace Telerik.Web.UI.dll in your projects with the new version.
Recompile and test. There are surprises, especially in the look&feel of controls. Skins can change too, and you may have references to skins that do not exist anymore, causing an error.
Deploy newly compiled dlls and the Telerik.Web.UI.dll at the same time
to production
Uninstall older Radcontrols version from the dev machine
I'm using Visual Studio Web Application Projects only and refer to Telerik.Web.UI.dll in the site's /bin folder.
You would have got a Release note along with the the New version. Just check for the whats new in this release and compatibility section of that document and see is there any breaking changes present in the release(You will not have any , but its good to have a look to double ensure). All you need to do is to put the latest DLL to the GAC and change the Web.Config file, and test your application. If every thing looks , do the same thing in the Production as well. In case if you are consuming the telerik dll in the dll projects . Try adding Assembly redirect entry in the web config.
There are also several videos on Telerik TV that show you how to manually and automatically upgrade projects that use the RadControls:
http://tv.telerik.com/search?q=upgrade
Hope that helps.