Strange deployment issues
- I have to admit I don't know a whole lot about ClickOnce - I just follow my nose and expect it to work as advertised! But unfortunately it's not at the moment. First issue is that I used to call my app one name, and now I've called it another, but when I publish it, ClickOnce still refers to it buy the old name, even though I've changed everything I can find that refers to the application name - the assembly name, solution name, namespace (not that that would matter). So where does ClickOnce get the application name from??
Secondly - and I think this related - when I publish to the net, installation fails. I get "cannot download the application. The application is missing required files...". The log shows the following error summary:
* Activation of http://www.xxxxxx.org.au/vocabmaster/Vocab%20Master.application resulted in exception. Following failure messages were detected:
+ Downloading http://web_development/Word Learner/Vocab Master.application did not succeed.
+ The remote server returned an error: (404) Not Found.
I have no idea where it is getting the URL "http://web_development/Word Learner/Vocab Master.application" from. "Word Learner" is the old name, "Vocab Master" is the new one, and "web_development" is the name of my PC. So how does it get this URL and why - since I specified the installation URL in the publish wizard and it was not this!
Thanks in advance.
class Religion { Explain (event) { try { ToExplain(event)} catch { throw("God moves in mysterious ways") } } }
Answers
Hi petroponting,
When you say you changed the name, where did you change it? Assembly name? or the Product Name under the Options dialog in the Publish tab for your main project?
First thing you should know if you changed the assembly name is that it is part of the identity of the deployment, so if you change it it is no longer recognized as the same application, and the user will have to uninstall and reinstall.
So if you set the product name and the publishing company (which are used on the start menu) and deploy it to a NEW URL (change the publishing file location and the installation URL), and uninstall the one you have installed and try to install the new one, does it work?
You might also want to check the Updates dialog to make sure someone didn't set the URL in there for where it is getting updates. Unless you are installing from one URL and updating from another, it is unnecessary to fill that in. If it's filled in, it could explain your problem.
RobinDotNet
Click here to visit my ClickOnce blog!
Microsoft MVP, Client App Dev- Marked As Answer byKira QianMSFT, ModeratorThursday, November 05, 2009 2:03 AM
All Replies
Hi petroponting,
When you say you changed the name, where did you change it? Assembly name? or the Product Name under the Options dialog in the Publish tab for your main project?
First thing you should know if you changed the assembly name is that it is part of the identity of the deployment, so if you change it it is no longer recognized as the same application, and the user will have to uninstall and reinstall.
So if you set the product name and the publishing company (which are used on the start menu) and deploy it to a NEW URL (change the publishing file location and the installation URL), and uninstall the one you have installed and try to install the new one, does it work?
You might also want to check the Updates dialog to make sure someone didn't set the URL in there for where it is getting updates. Unless you are installing from one URL and updating from another, it is unnecessary to fill that in. If it's filled in, it could explain your problem.
RobinDotNet
Click here to visit my ClickOnce blog!
Microsoft MVP, Client App Dev- Marked As Answer byKira QianMSFT, ModeratorThursday, November 05, 2009 2:03 AM
- Well you solved part of the problem right there - the "options" tab with the product name was the one bit I didn't find. As for users having to uninstall etc, that's no problem since I have no users! What happened is I had an English vocab app I'd developed which I then modified to become to a foreign vocab trainer. I copied the whole project and then modified the code and changed the app name ... Anyway.
But my problem just grew. I am now getting a FileNotFoundException when I try to compile! Weird, because I can't see what I've changed that could cause it. Because I was getting an error saying that Sql Ce was not installed when I tried to install the app, I tried changing the publish status of the SQLServerCe dll from 'Prerequisite' to 'Include' (in Application Files). This appeared to succeed, but now that I have this new error, I changed it back again. As for the file, when I look in the References of my project, in the properties of the System.Data.SqlServerCe reference, the path (C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Desktop\System.Data.SqlServerCe.dll) is correct. The only other info I can give you is that I have a warning that says "Found conflicts between different versions of the same dependent assembly". I have had that since the year dot and ignored it since everything appeared to work. But recently I double clicked it and was asked if I wanted to add binding redirects to my app.config file. I thought, ____, why not? (a bad thought to have?) and went ahead. I cant actuallt see any change to my app.config file though, and in any case doing that did not immediately cause this error to appear, but I'm trying to tell you everything that might cast some light. Help??
class Religion { Explain (event) { try { ToExplain(event)} catch { throw("God moves in mysterious ways") } } } - BTW, I checked the Updates dialog, and there was a URL there, so maybe that was the problem after all. But now this assembly mismatch/not found error has become a real problem. It's s truly odd, because I've loaded up my old app which uses the same setup, and it all compiles fine, and if I compare the properties of the two SQL CE references they are identical. I tried a SQL CE reinstall, no go. And anyway the other app compiles and runs fine, so that can't be it. Tried removing and recreating the SQL CE reference. Perhaps I should now be asking this question in a Visual Studio forum?
class Religion { Explain (event) { try { ToExplain(event)} catch { throw("God moves in mysterious ways") } } } - Hi pedroponting,
Do you mean the ClickOnce problem has been solved and now the problem is reference assembly missing when compiling? Here are two forums you can try.
Visual C# IDE (http://social.msdn.microsoft.com/Forums/en-US/csharpide/threads ) if you use C#
Visual Basic IDE (http://social.msdn.microsoft.com/Forums/en-US/vbide/threads ) if you use VB.NET.
If I misunderstood you, please feel free to tell me.
Sincerely,
Kira Qian
MSDN Subscriber Support in Forum
If you have any feedback on our support, please contact msdnmg@microsoft.com
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! - Well, I don't know if the ClickOnce problem is solved, because of the new error. But either way I guess the C# forum is the way to go. Cheers.
class Religion { Explain (event) { try { ToExplain(event)} catch { throw("God moves in mysterious ways") } } } - Hi pedroponting,
If you have further question, please feel free to post on the forum.
Sincerely,
Kira Qian
MSDN Subscriber Support in Forum
If you have any feedback on our support, please contact msdnmg@microsoft.com
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework!


