I made a simple Windows application to test how I can publish my application.
So what I want to know is how can I publish my application so that it creates an installer so that other users around the world can download, install and use my application?
Thanks
You could use the "setup" project available in visual studio, that creates a MSI file.
Also you may use the publish concept called "click-once-deployment".
Please go through this article that explains the methodology:
http://www.codeproject.com/KB/install/ClickOnce-Deployment.aspx
Create homepage to describe your application information, update somewhere for others to download. Well, you can give a try by creating a site on CodePlex, SourceForge...
You could try ClickOnce.
ClickOnce deployment allows you to publish Windows-based applications to a Web server or network file share for simplified installation.
You just need to define which prerequisites you want to include in bootstraper, as described here
Related
I have developed a WPF application and the customer is planning to deploy the application on DVDs.
My application is really simple and doesn't require any setup process, but I need to assure that if the client doesn't have .NET 3 installed that it will be installed locally (from the DVD) before starting the WPF application.
So, what's the easiest was to add the .NET 3/3.5 package locally on my DVD and assure it'll be installed before running my application? Remeber that my application will be a standalone application.
when you use the publish option...
The Project Properties has a place to specify the dependancies that will need to be downloaded
then you simply check the boxes
there are other more complex ways to go abaout this but for .net 3.5 you don't have to go far
I would suggest using Visual Studio Setup Project for creating a setup package which would check for prerequisites and provide fundamental features like file system, registries, scripting. It is very easy to get started with. Take a look here for a brief walkthrough.
I have a project in c# VS2010 and I want to make .exe file and make a setup.Here I will make it with add setup and deployment project. But I have one more option of publish project.
I don't know
what is the meaning when I create the .exe with Publish project.
What is better and why & where I can use Publish project.
When To Use Click Once Deployment:
ClickOnce is a new deployment technology that Microsoft developed to
address several problems with deployment namely
Difficulty in providing regular updates The inability of
nonadministrative users to install applications
The dependence of multiple programs on shared components
Installation folder will be isolated storage
ClickOnce deals with
all of these problems and allows you to create a deployment strategy
that is easily updateable, isolated from other applications, and
installable by nonadministrative users.
When to use the Setup Project:
Although ClickOnce provides simple and easy deployment for a variety of applications, you
might need a more configurable environment for complex programs. Setup projects allow you to create highly confi gurable deployment plans.
Allows you to create the directories on the target computers
Windows Service installation
Registry Modifications during installation
Execute Custom Actions during installation
Copy files to target machine
Hope It Helps :)
I guess what you're talking about is ClickOnce technology. ClickOnce allows you to publish the application and all accompanying files to a location (for example a network share or a web site) and users can just install it by navigating there. You can even publish your application to a shared hosting provider and people can just install your application.
The application will then be installed in the user's profile.
The advantage of this is: You can publish updates easily if you configure your application to automatically check for updates - just publish the new version to the previous location. Every user will get the update upon the next start of the application. Users don't need admin rights to install your tool!
The drawback is: Every user (even on the same machine) will need to install the application in his own profile. There's no common installation for all users.
The advantage of creating setup projects is of course that you follow the traditional approach of installing an application on the system, making it available for all users. The drawback is that installing updates is far more difficult, and users need admin rights to install it!
I have seen multiple Windows Services getting installed in my computer with just an Setup.exe or .msi... is it something special that it needs to be done with the setup project to let such Windows Services installed in a easy way without Installutil.exe?
I have tried and it just doesn't install the Service. I know how to use Installutil but that I would think it's just for testing. I need to be able to install my windows service with an Setup.exe because I want to distribute my Service with its configuration Tray app.
What would be the correct way to install the service and then my app? They both use a same DLL created in the same solution.
Problem while Building a Setup Project for a windows Service?
I looked at the link above but its about the Setup Project which I already know how to do, the problem is how to make my Setup project working... my DLL is getting up in place, the Tray app is working as well, the problem is the Service not getting installed it is just giving me the .exez
but I need it to be installed correctly like be up and running at reboot and in the Service Control Manager.
Option 1
1. Download Wix
2. Download and install Wix Windows Service Setup Project Template
3. Create a new wix setup project and see what you get
This is the easiest way to create a *.msi without any option windows
Option 2
Follow this blog post. Same as option 1 but without the project template. If you go the WiX route sooner or later you will see that the project template provides basic stuff. If you want more advanced stuff you need to learn WiX a little bit and use its candle.exe, light.exe, pyro.exe etc.
Option 3
I wrote a short post how I usually do this.
Good luck
Here is a simple template for creating a *.msi installer for a Windows Service with WiX:
http://www.schiffhauer.com/wix-template-for-installing-a-windows-service/
I was able to specify my DLL dependencies with File tags.
I am using visual studio web project to install my web application and do some customization like modifying connection string in web.config file during install time.
Now, My requirement is to create a patch for the web application so that next time the web installer only the changed files.
Is there is any one to do it using visualk studio 2010 ide or any other way.We can't use third party products like Installshield,wix,innosetup etc.
Please suggest.
Visual Studio doesn't support patches for setup projects. It supports only major upgrades.
If you really don't want to use other setup authoring tools, you can try creating the patch manually. You can read more about this here:
http://msdn.microsoft.com/en-us/library/aa370578(VS.85).aspx
But it won't be easy.
If it is just Web project, I would recommend re-deploy instead of patching. Meaning you just deploy new version of site, above the previous one.
Except some really comprehensive case that strategy works all the time. I use simple xcopy deploy for all my projects.
You can write a mini C# app to do it. You can have the list of assembly files in a configuration. On loading of the app, it checks the timestamp difference between server and client files. On finding the change, the mini app pushes the changes file.
Hope, it will resolve your issue
There may be better suited solutins to deply websites than using an installer. For one, there's Web Deploy.
It's main purpose is deploying web applications to IIS and it allows you to modify key configuration values through a simple UI.
Web Deploy works with deployment packages; a big zip containing your application and some meta data to help install it. On deployment it will diff the deployed site with the data in the deployment package to update existing files, add new ones and remove obsolete files.
You can build deployment packages directly from Visual Studio and/or from MSBuild, using your favorite build server.
Web Deploy works really well when you need to deploy often or when you have to delegate deployment to IT staff.
Customizing Web Deployment package is a bit tedious though, you may find a blog post I wrote about this useful.
For simpler situations, I recommend good version control practices and xcopy deployment.
If you tag what you deploy to your server, you can zip up the changed files since last deployment and copy those to your server.
Is it possible to deploy a Windows Service using ClickOnce? If so, how do you achieve this?
Currently we have to use a Deployment project, and the installation process could be simplified greatly by using ClickOnce.
AFAIK you can't really use ClickOnce end-to-end to deploy a service; there are issues with both the file locations (ClickOnce installs into a user's profile) and installation (ClickOnce is largely side-effect free).
You can, however, write a service as an exe that can self-install/uninstall from the services list, like so; basically, you write it as as a console exe and handle some command line args, using AssemblyInstaller to [un]install from the current assembly. Another advantage is that the same approach can be used to help debugging, since you can run it from the command line.
I guess NO according to Choosing Between ClickOnce and Windows Installer
Instead of ClickOnce, I like to use the approach using Inno Setup, like in here https://stackoverflow.com/a/1450051/396200
You have more control over what and how will be copied and executed.
As Marc Gravell said in his answer, I create a exe that self install my service, and then use Inno Setup to pack and deploy it. After Inno setup installed, it automatically run the exe and then my exe install my service.