John M
John M

Reputation: 14668

Visual Studio 2008 - Issues with publishing C# Console Application

I have a C# console application written in Visual Studio 2008. Usually I just build the application and then copy the files from the 'Release' folder but this time trying to do it 'properly' by publishing the application.

I went through the 'Publish Wizard' and end up with a 'Setup.exe' file in the specified folder. When running this setup file on another computer the install fails and indicates via a error message that:

Cannot download the application. The Application is missing required files...

When I select the 'details' button the error log shows that the program was trying to download files from the last version directory (ie 1_0_0_4).

What am I doing wrong? (aside from being tired...)
Show I de-activate the version auto-incrementing?

Upvotes: 2

Views: 2315

Answers (3)

Will Eddins
Will Eddins

Reputation: 13907

Everything David Stratton has stated is correct. ClickOnce is overkill for what you're trying to do, and publishing through Visual Studio has always given me headaches.

I might recommend taking a look at NSIS if you're looking for generating an installer for others. It's relatively simple to generate full installers that merely grab files from your /Release/ directory, with plenty of sample code for getting an installer working quickly. Once you have your working script, making your installers are as simple as a right-click and clicking compile.

Upvotes: 0

Brettski
Brettski

Reputation: 20091

Not knowing what you choose in the wizard, web or CD, the setup.exe file needs to be able to reference it's installation files. If using the CD method, you will notice in the output directory you revision directories, e.g. 1_0_0_4, where each revision of your app is kept. I agree with @David_Stratton, and unless you really need to use one-click publishing, don't. Just use xcopy (robocopy), zipfiles, etc. It will greatly reduce your stress levels down the road.

Upvotes: 1

David
David

Reputation: 73564

Unless you have a valid reason to do so, I would abandon the publishing and just go back to the XCopy installation. (And by Valid, I mean something other than someone told you that it's the "proper" way to do it.) I base this advice on the following arguments:

  1. We used ClickOnce for all our WinForms apps for a while, but eventually it got to be more trouble than it was worth. For one thing, you need to deal with the security certificates. We had issues when we replaced a server with a new one with a different name, then we had issues when we replaced our development machines, etc.
  2. You said this is a console application. ClickOnce publication seems to be overkill for a simple console application unless there are third party dependencies that you need to include in your install.

Don't get me wrong, I liked using ClickOnce for the ease of putting updates out there, and we use it still when it's the best option. However, in your situation, it looks to me like XCopy deployment should be sufficient for a simple console application.

Upvotes: 9

Related Questions