views:

28

answers:

2

I am making a desktop application in C#, VS 2010 on Windows XP SP2 Pro.

If i run that application directly from published folder without running setup OR run it from debug folder OR simply debug the application, it does not give this error.
But if i run setup from published folder and then run it from start menu, it gives this error.

(edited)An attempt to attach an auto-named database for file C:\Documents and Settings\Desi\Local Settings\Apps\2.0\Data\K9KMBYK5.881\EKOOHKP2.0Y1\smas..tion_ddac366ea7cca062_0001.0000_c8a0800c5798ef15\Data\SmasDb.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.

I am publishing application to a folder in 'my documents'.

Update:
C:\Documents and Settings\Desi\Local Settings\Apps\2.0\Data\K9KMBYK5.881\EKOOHKP2.0Y1\smas..tion_ddac366ea7cca062_0001.0000_c8a0800c5798ef15\Data\1.0.0.0 (this Data directory has only user.config file)

C:\Documents and Settings\Desi\Local Settings\Apps\2.0\LWGCKB30.QZJ\E81QYJON.ZX9\manifests (contains
smas..tion_ddac366ea7cca062_0001.0000_none_a42d8ca7a940cae4.cdf-ms
smas..tion_ddac366ea7cca062_0001.0000_none_a42d8ca7a940cae4.manifest
smas.exe_ddac366ea7cca062_0001.0000_none_3d144d2ce016963b.cdf-ms
smas.exe_ddac366ea7cca062_0001.0000_none_3d144d2ce016963b.manifest)

C:\Documents and Settings\Desi\Local Settings\Apps\2.0\LWGCKB30.QZJ\E81QYJON.ZX9\smas.exe_ddac366ea7cca062_0001.0000_none_3d144d2ce016963b (contains SMAS.exe.config, SmasDb.mdf, SmasDb_log.ldf)

C:\Documents and Settings\Desi\Local Settings\Apps\2.0\LWGCKB30.QZJ\E81QYJON.ZX9\smas..tion_ddac366ea7cca062_0001.0000_c8a0800c5798ef15 (this directory has all files including all dlls, SmasDb.mdf and SmasDb_log.ldf, SMAS.exe.config, some .cdf-ms and .manifest files NOT same as above .cdf-ms and .manifest)

A: 

You are using ClickOnce and using a SQL CE database? Did you include the database in the Published application?

rdkleine
Yes, i am using ClickOnce and SQL database. And the database is included in published application
LifeH2O
A: 

Dis you verify that long path (c:\documents and settings\user\local settings\apps\2.0\data\MP63M1NA.ZG5\BCOVJJWN.C53\smas..tion_ddac366ea7cca062_0001.0000_9c79a710d42895b6\Data\SmasDb.mdf) to see if there actually is a database there?

From the 3 options in the error message, I would go for: or specified file cannot be opened

You'll have to think about where you want the database to be (on a non-dev box), and make sure it is copied there.

See this post about the |DataDirectory| syntax

Henk Holterman
This is the problem. Above directory only contains the user.config file. All other files are in other directories. Added more details to question.
LifeH2O
How to make sure that databse is copied to datadirectory?
LifeH2O
I made a really bad design i think. The connectionString, DataSet, and all the classes are in another dll project in the same solution. (i did this because the requirement was to make have a dll instead of doing everything in main project) Now the possible solution is to make sure that the database files are copied to DataDirectory. How to do that?
LifeH2O
You can change where |DataDir| points to, see http://social.msdn.microsoft.com/forums/en-US/sqlce/thread/dc31ea59-5718-49b6-9f1f-7039da425296/
Henk Holterman
The file is not being copied to DataDirectory. How to copy?
LifeH2O
Hurrah!!!!! ClickOnce setup is now working. I added the code to copy smasdb.mdf manually near the installation folder (near |DataDirectory|). App is working fine from start menu without error
LifeH2O