Microsoft.ExceptionMessageBox not "found"

I have a winform solution that I am deploying via clickOnce. There is a Main Project and then a project called psWinForms

. This project has a link to Microsoft.ExceptionMessageBox

which I use in my custom bug reports.

I have psWinForms

as a reference in my main project with Copy Local = True

.

I have Microsoft.ExceptionMessageBox

as a link in psWinForms

cCopy Local = False & Specific Version = False

As Application Files

I havePublish Status =Prerequisite(Auto)

I've tried various combinations to no avail.

I looked here for a test system on DLL.

C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies

      

I am using ExceptionMessageBox from SQL version 9.0.242.0 if it matters and users only have SQL 2005 Express (9.0.1399.0) installed.

So I am very confused as to why my application hangs when I try to make a mistake with this ....

+2


source to share


2 answers


You cannot copy and deploy the assembly yourself, it must be installed as part of the SQL client components. There are different client components for SQL 2008 and SQL 2005, your application should link to the appropriate one. Thus, you will have to submit two different applications, one compiled for SQL 2005 and one for SQL 2008, and your users will have to install the appropriate one. From Application Deployment Message Message Exception :

Installed an error message box with Microsoft SQL Server and maintained for use in your normal Windows application to improve Exception Handling. Because the error message box is installed for all editions of SQL Server except SQL Server Compact 3.5 SP1, you can use it without additional configuration on any computer on which SQL Server client components, including the SDK, have been installed.

While technically it is probably possible to deploy an assembly and add it to the GAC, it is bad practice since your DLL will not be part of the normal chain of service packs and cumulative updates.

Also you better clarify with your MS representative whether the deployment of this standalone dll is ok with the SQL client use license or not. Every component that can be redistributed under license has an installed msi available for developers to redistribute. If this dll is not a strong indicator that is not allowed to be redistributed by third parties (you).



Update

There is actually a distribution msi (SQLServer2005_EMB.msi, SQLServer2005_EMB_x64.msi) for the ExceptionMessageBox component:

In SQL Server 2005 Service Pack 1 (SP1) and later releases, the exception message box is also provided as a redistributable installer that you can redistribute and deploy using the application ... Redistributable installer for the exception message box is available at Web as part of the Feature Pack for SQL Server 2005 SP1 .

+5


source


Do you have a link given in your MAIN app? I didn't see this script listed ... I found that in order to copy to your local machine, you need to have all subproject references in the main application reference list, otherwise you will get unpredictable results. Also, if you need your specific file to use, make sure to use the specific version.



the same goes for the App.config sections ... if you have project level appconfigs you should combine that with the app.config application level.

+1


source







All Articles