I have my my setup project in (Visual Studio 2015: Community Edition) ready to be built and create my program installer. But, obviously the program will not work on other computers without the appropriate redistributable package installed on the clients computer.
So, I need to set that up in my project but I do not know how. I read in a post on another site that it is located in:
Project>>Setup Properties>>Prerequisites
But, all I just see are selectables for ".net framework" related things. Also, I read that merge modules are not good to use due to servicing issues.
If you have any insight into whether I am needing to download an extension for the correct prerequisite to appear, use merge modules, or something else it will be greatly appreciated!
I am facing VSTO error when I am trying to install the application using click once installer. I have tried on Windows XP machine and also on Windows 7 machine.
Exact error when opening the application on client machine is
“The following Microsoft solution cannot be loaded because a compatible version of the .NET Framework is not Installed: myApplicationName.vsto”
The application is VSTO app in C# with WPF tab embedded in Excel application (Framework 4).
The framework the application is developed on is already installed on the client machine.
I did not find any solution in this thread; any help would be highly appreciated.
I had the same issue today. I believe this is a problem with the VSTO 2010 installer included with your application.
I went and downloaded the latest version from Microsoft, installed it, retried my installer and then everything worked.
oI am building a WPF application in .net 4.0.
I have a local DB .sdf file. I am using EF to connect to the DB.
When building the application I get Error 175: The specified store provider cannot be found in configuration
I tried droping and recreating both the model and the sdf file.
I tried everything detailed in this link and the blog post it was taken from.
I cannot get this error to go away. The application runs on my machine (The error is in the edmx file, so it still runs), but when I publish it and run the installer on another computer, I get the same error in a messagebox.
My local machine is Windows 2008 R2 64bit with VS2010 installed. The machine I'm installing on is Windows 7 32bit.
Edit: Also tried this and got the same result.
I donwloaded SQL Server CE again and did a repair install, then reopned VS2010, did a build and the error went away.
I uninstalled and reinstalled and it didn't help, so I don't really know why this did, but there you go.
I have a .Net 4.0 WPF application that requires an embedded database.
MS Access doesn't work on 64 bit Windows I'm told. And I'm having issues with SSCE:
Unable to load DLL 'sqlceme35.dll': This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)
sqlceme35.dll is installed into my application's program files directory, so I can't seem to figure out why Windows XP Pro doesn't see it.
I was wondering about other embedded database options I might use (that work on both 32 and 64 bit windows). Any suggestions?
SQLite
...and the System.Data.SQLite provider.
I'm developing a Windows Forms application using Visual Studio 2008 C# that uses an SQL Server Compact 3.5 database on the client. The client will most likely be 32 bit Windows XP or Windows Vista machines. I'm using a standard Windows Installer project that creates an MSI file and setup.exe to install the application on a client machine. I'm new to SQL Server Compact, so I haven't had to distribute a client database like this before now. When I run the setup.exe (on new Windows XP 32 bit with SP2 and Internet Explorer 7) it installs fine, but when I run the application I get this error:
Unable to load DLL 'sqlceme35.dll'. The specified module could not be found
I spent a few hours searching for this error already, but all I could find were issues relating to installing on 64 bit Windows and none relating to normal 32 bit that I'm using.
The install application copies the all the dependent files that it found into the specified install directory, including the System.Data.SqlServerCe.dll file (assembly version 3.5.1.0). The database file is in a directory called 'data' off the application directory, and the connection string for it is
<add name="Tickets.ieOutlet.Properties.Settings.TicketsLocalConnectionString" connectionString="Data Source=|DataDirectory|\data\TicketsLocal.sdf" providerName="Microsoft.SqlServerCe.Client.3.5" />
Some questions I have:
Should the application be able to find the DLL file if it's in the same directory, that is, local to the application, or do I need to install it in the GAC? (If so, can I use the Windows Installer to install a DLL file in the GAC?)
Is there anything else I need to distribute with the application in order to use a SQL Server Compact database?
There are other DLL files also, such as MS interop for exporting data to Excel on the client. Do these need to be installed in the GAC or will locating them in the application directory suffice?
You don't need it to be in the GAC for SQL Server Compact to run, and it will pick them up from the application directory. There are several ways to deploy an SQL Server Compact project. The two main ways are:
Deploying the SQL Server Compact redistributable installer with your project, but this way is painful and also can be unistalled by the end user, or upgraded by Windows updates and breaking your application.
Including the DLL files in your application folder. Depending on the features of SQL Server Compact you are using (replication or whatever), there is a handful of DLL files to deploy in your application folder.
If you have SQL Server Compact installed on your machine, they are most likely located at "C:\Program Files\Microsoft SQL Server Compact Edition\v3.5". They can be added to the project in Visual Studio and then set their project output type to "copy always". And the main reference to System.Data.SqlServerCe that you have in your project references should have copy local set to true.
sqlceca35.dll
sqlcecompact35.dll
sqlceer35en.dll
sqlceoledb35.dll
sqlceqp35.dll
sqlcese35.dll
If you have these all set, then in your installer project all you have to include is the project output of this project and you're good. In my opinion this is the only way to go. It is a simple deployment, of a couple of files and you are in control of what DLL versions your application uses.
I hope that helps.
I had a similar problem, a Visual Studio 2008 Windows application targeting 32-bit Windows XP and Windows Vista that used SQL Server Compact 3.5 SP1 - that then got this error when installed on 64-bit Windows 7:
Unable to load DLL 'sqlceme35.dll'. The specified module could not be found
I was embedding an MSI for SQL Server Compact into the installer for the application.
Following this rather confused discussion on MSDN revealed that I needed to use the 64-bit MSI for SQL Server Compact on 64-bit machines. D'oh! That is, from page Microsoft SQL Server Compact 3.5 Service Pack 1 and Synchronization Services for ADO.NET version 1.0 Service Pack 1 for Windows Desktop I needed SSCERuntime-ENU-x64.msi rather than SSCERuntime-ENU-x86.msi for 64-bit machines.
How to: Deploy a SQL Server Compact Edition Database with an Application should help, at least with your first two questions.
In general, I think you should not install anything in the GAC for a single application.
The following provide a solution to the problem and an explanation also.
Troubleshooting: Can’t load SQL Server Compact DLL
SqlCeException on application's first use of SQL Server Compact
Laxmi Narsimha Rao Oruganti 's blog
I hope this helps.