views:

210

answers:

2

does vb.net have a different way to build an application without using clickonce?

+1  A: 

Command line:

vbc /out:MyProg.exe MyFile.vb
Zifre
+7  A: 

If your application doesn't need an installer then you don't need to use ClickOnce at all. Just do a build in Visual Studio to produce your exe and off you go. There are actually quite a few single-file applications on the internet that are done this way.

If you do need a proper installer, I still wouldn't normally suggest ClickOnce. ClickOnce was designed to allow a user to literally click a button in a web browser just "once" to install your product into a secure-but-limited sandbox. The sandbox where the application lives will then have limited permissions to the file system and such. It's pretty cool in theory. But in practice the limitations involved can become a pain for any but the most basic of applications.

For a powerful installer system for Windows, I'd suggest NSIS. It's free, open source, and scriptable. I've used it to build the installer for a couple of VB.NET software applications. One of them has been downloaded & installed by thousands of users. I'm also the main point of contact for technical support and I haven't heard a single report of a problem with the installer itself.

I could go on and on, but suffice it to say that I've tried others such as InstallShield and Wise and even ClickOnce (that was short-lived). But nothing could compare to the speed, power, reliability, and lightweight-edness of NSIS.

Steve Wortham
if i click on BUILD, where can i find the exe?
I__
It'll depend on your project settings. But most likely it'll be under the release or debug folder of your main project folder.
Steve Wortham
cool thank you! what if i have prerequisites in my project - will the exe have this already bundled inside of it or do i need clickonce?
I__
Depends on what you mean by prerequisites I suppose. Are there any dll's in the same folder as the exe? If so, then I'd try ILMerge to combine them into your exe... http://research.microsoft.com/en-us/people/mbarnett/ILMerge.aspx
Steve Wortham
By the way, I haven't actually tried ILMerge for this purpose, but everything I've read indicates that it should work.
Steve Wortham