I have a Winforms C# application that uses .Net framework 3.5. The application currently makes use of Crystal Reports for various reporting functions. This application is typically being installed as a networked application; in other words, the application is installed on a server and then launched from the various workstations via a shortcut. To run correctly though, the Crystal Reports runtime needs to be installed on every workstation and this is a dependency that I would like to eliminate. My goal is to be able to install the application on the server and then as long as .Net framework 3.5 is installed on the client, the application, including reporting, will launch and execute correctly.
So does anyone know if it is possible to compile Crystal Reports into the executable so that the dependency on the runtime is eliminated, or, failing that, know of an alternative to Crystal Reports that can does not depend on a runtime being installed on the client?
UPDATE:
I am currently looking at using a Visual Studio 2008 ReportViewer control as an alternative to Crystal Reports. I have never used this control before (or 'Reporting Services' for that matter), but from what I have read it is possible to setup this control to run using a built-in reporting engine (a so-called 'local mode'). If this is indeed the case, then I should be able to define the reports in Visual Studio 2008 and compile them into the application executable so that neither Reporting Services on the server nor a reporting runtime on the client need be installed.
Crystal Reports does always need to install standalone, I've been dealing with that for a while now, mine is a ClickOnce Application, actually I'm making some Reports using Report Viewer but I should warn you IT NEEDS TO INSTALL TOO on client machines so you will need Admin Privilegies on new installs.
What I 'm doin now is changing to a pure dll generation reporting solution as Telerik or DevExpress, right now I'm using DevExpress one.
Disclaimer: I do NOT work for either company.
Regards,
Related
I have installed DevExpress on my own computer. And I used it in a C# project for showing records.
Will it be required to be installed on the client machine?
Datagridview layout for images with text not looking so good.
No, an installation is not needed on the client machine, but the assemblies you are using have to be deployed alongside your app. That won't cost anything for your client as long as you as a developer have a valid license:
From the FAQ
Developer Express does not charge any royalties for redistribution of components that have been integrated into applications which you engineer. Of course, this only applies if you have a valid license to all products which are being used within your application.
For deployment scenario's take a look here:
When you deploy a WinForms project that uses DevExpress WinForms controls, you should copy the corresponding assembly files onto an end-user machine.
Basically this means you can copy the entire bin folder of your app (web, wpf, winforms or else) that include the used DevExpress assemblies and put in on any client.
I am working on windows application I have a new client requirement like everything need to be bundled in single setup file ( example : SQL server 2012 express edition, Application database, Crystal reports, .NET framework,other 2 applications and Windows Service)
I did setup file along with Database using installer class following the below site (http://www.rajneeshverma.com/post/2012/08/16/Setup-and-Deployment-of-Windows-Application-with-SQL-Server-Database-using-Visual-Studio-2010.aspx). Its working fine
And I tried for crystal report added some merge modules but I don't know which merge module need to add exactly so I added all modules
So, how can I add .NET Framework, Windows Service, Crystal Reports, SQL Server 2012 express edition to a single setup file? Can you please show me a way to chase this task
Thanks & Regards,
Sridhar.
Take a look at this answer here. I think Advanced Installer has what you are looking for. You can be able to bundle your pre-requisites quite easily with it including setups for Crystal Reports runtime and SQL Express.
Example below.
You will be able to put everything into a single setup file.
I have build C# windows form application using visual studio witch is simple outlook plugin installer.
It does these steps:
generates GUID and stores it to windows registry (for logging purpose later in outlook plugin)
Downloads actual outluck install files
Launches outlook plugin installation
The problem is that I can run this setup if .net framework is not installed. Is there a way of checking is framework installed? Or maybe there is a way to convert this app to native windows application (without .net dependencies). Or maybe it is possible to include needed dll's only?
I have tried using mono mkbundle, but I am getting strange errors in windows like Program too big to fit into memory or something with wrong application architecture (x64 X86).
I have also found some commercial tools for that like .net fuze. So maybe there is free alternatives witch does something similar?
Or maybe this single file installer idea is wrong? Maybe I should use something different?
I have developed an application in c#.net.
Created a setup for windows 7 64 bit operating system. I have used Visual Studio 2010 to create a setup. I select the prerequisites for the application which are provided by default for 64 bit os setup namely Sql Server 2008 and .NET Framework 4.0.
The setup is installed successfully.
My problem is that **I need to run the application as administrator for first time.
Do I need to set specific properties for setup while creating the setup ?
You need to Create and Embed an Application Manifest with Your Application. Have a look at this link and i hope you may get what you want. Making Your Application UAC Aware
I have a winform solution that I deploy through clickOnce. There is the Main Project and then a Project called psWinForms. That project has a Reference to Microsoft.ExceptionMessageBox that I use in my custom error reporting.
I have psWinForms as a reference in my Main Project with Copy Local = True.
I have Microsoft.ExceptionMessageBox as a reference in psWinForms with Copy Local = False & Specific Version = False
In Application Files I have Publish Status =Prerequisite(Auto)
I have tried various combinations to no avail.
I looked here on the Test System on the DLL is there.
C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies
I am using the ExceptionMessageBox from SQL version 9.0.242.0 if that makes a difference and the users only have SQL 2005 Express(9.0.1399.0) installed.
So I am very confused as to why my app hangs when I try to throw an error using this....
You can't copy and deploy the assembly yourself, it has to be installed as part of the SQL client components. There are different client components for SQL 2008 and SQL 2005, your application has to reference the proper one. So you'll have to ship two different applications, one compiled for SQL 2005 and one for SQL 2008 and your users will have to install the proper one. From Deploying an Exception Message Box Application:
The exception message box is installed
by Microsoft SQL Server and is
supported for use in your custom
Windows applications to improve
exception handling. Because the
exception message box is installed by
all editions of SQL Server except SQL
Server Compact 3.5 SP1, you can use it
with no additional configuration on
any computer on which SQL Server
client components, including the SDK,
have been installed.
While technically is probably possible to deploy the assembly and add it to the GAC yourself is a bad practice as your dll will not be part of the normal chain of service packs and cummulative upgrade patches.
Also you better clear up with an MS representative whether deploying this dll standalone is OK with the SQL client usage license or not. Every component that can be redistributed under the license has an install msi available for developers to distribute. If this dll does not is a strong indicator that is not allowed to be redistributed by 3rd parties (you).
Update
There is actually a distributable msi (SQLServer2005_EMB.msi, SQLServer2005_EMB_x64.msi) for the ExceptionMessageBox component:
In SQL Server 2005 SP1 and later
releases, the exception message box is
also provided as a redistributable
installation program that you can
distribute and deploy with your
application... The redistributable
installation program for exception
message box is available online as
part of the Feature Pack for SQL
Server 2005 SP1.
do you have the assembly referenced in your MAIN application? I didn't see that scenario listed...I have found that for copy local to work, you need to have all sub-projects references in the main application reference list otherwise you get unpredictable results.
Also if you need your specific file to be used, make sure use specific version is true.
the same goes for App.config sections...if you have project level appconfigs you have to merge that with the application level app.config.