473,725 Members | 1,942 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Setup/Deployment options

I want to deploy a service with a windows app and the setup program
must conform to the Vista certification requirements. Can that be
done with the standard .net setup project? Assuming cost is an
issue,
what else is available?

Apr 7 '07 #1
6 4068
By "standard .NET setup project", I assume you mean Visual Studio 2005 setup
and deployment project.

Let's have a look at the Vista installation-related requirements:
Use Windows Components for Installation
Yes, a setup and deployment project creates an MSI.

Support User Account Control for Installation
This basically says the installation shouldn't assume the user installing
will the be same user using the installed components. A setup/deployment
project does nothing in this respect, it's how you implement your particular
setup/deployment. I don't know how this requirement can be evaluated.

Install to Correct Folders
Similarly, setup/deployment defaults to correctly fulfilling this
requirement; but it's up to whomever implements the setup/deployment.

Sign ClickOnce Manifests
Although strictly not part of a setup/deployment project, Visual Studio
2005 supports signing ClickOnce Manifests. You'll have to shell out the
US$999+ to get the certificate to sign your manifest...

Keep ClickOnce Installations Isolated
Again, not a feature of a setup/deployment project directly; it's how you
implement it whether you put user data only in user directories... A
setup/deployment project doesn't stop you from violating this requirement.

Correctly Configure Package Identity
Yes, setup/deployment projects allow you to register the application in
Add/Remove Programs (now Software Explorer).

Install Windows Resources Properly
A setup/deployment project really doesn't do anything on its own. With
this requirement you have to be sure you don't deploy components that aren't
classified as "system" components. a setup/deployment project does nothing
to stop you from doing this.

Follow Best Practices for Creating Custom Actions
Somewhat subjective, and I can't see how this could be validated. See the
requirements for details.

Avoid Reboots During Installation
Also up do the particular implementation of a setup/deployment project.

Support Command Line Installation
Yes

Follow Component Rules
Also detail of the implementation; see requirements to ensure you implement
correctly.

In short, yes, setup/deployment projects allow you to create an installation
the fulfills the Vista installation requirements.

--
Browse http://connect.microsoft.com/VisualStudio/feedback/ and vote.
http://www.peterRitchie.com/blog/
Microsoft MVP, Visual Developer - Visual C#
"an******@gmail .com" wrote:
I want to deploy a service with a windows app and the setup program
must conform to the Vista certification requirements. Can that be
done with the standard .net setup project? Assuming cost is an
issue,
what else is available?

Apr 8 '07 #2
Thanks Peter, it sounds like it will be flexible. A couple of
specifics:

1. I'm installing a service, but the Uninstall does not stop the
service reliably. Also... when the service is stopped the registry
settings are deleted, but the entry remains in the Service Control
Manager until the computer is rebooted. So my solution is to use a
custom action and override Installer.Unins tall. That reliably stops
the service and I'm about to try deleting it manually with the
DeleteService API. Is that the right way to go about it?

2. Running the program after Install. I don't want the program to run
until the Finish button is pressed. So use the AfterInstall event and
wait around for the window to be closed? Or is there another way?

Thanks again,
Andrew

Apr 9 '07 #3
I found the problem with the Uninstall not being reliable: Reference
counting under the SharedDlls registry key. If the count is 1,
Uninstall decrements the number and exits.

Apr 9 '07 #4
I'm not clear, you've resolved with issue with stopping the service?

If you're installing a service, there should be no program to run after
install. So I'm clear: you want to run your application after you press
Finish in the installer but you don't want to installer to exit until the
user exits your application? Why?

--
Browse http://connect.microsoft.com/VisualStudio/feedback/ and vote.
http://www.peterRitchie.com/blog/
Microsoft MVP, Visual Developer - Visual C#
"an******@gmail .com" wrote:
I found the problem with the Uninstall not being reliable: Reference
counting under the SharedDlls registry key. If the count is 1,
Uninstall decrements the number and exits.

Apr 10 '07 #5
Yes, the service is stopped and Uninstall removes it properly IF the
reference count in SharedDlls is 1. The LegacyShared property in the
setup project led me to believe there was no reference counting.

Displaying the app after it's installed: It's a service with a
separate control panel EXE and the control panel starts after the
installation is complete. So it starts the process with an argument "/
setup", which tells the control panel to wait for the setup window to
close:

static void WaitForSetupToC lose()
{
FindWindow:
bool found = false;
foreach (Process p in
Process.GetProc essesByName("ms iexec"))
{
if (p.MainWindowTi tle.ToLower().C ontains("my
title"))
{
found = true;
break;
}
}
if (found)
{
Thread.Sleep(50 0);
goto FindWindow;
}
}
Apr 10 '07 #6
Your control panel application requires msiexec not to be running? I can't
tell from that what the best solution would be. Why does it need msiexec not
to be running?

The problem with the say you're doing it now is that another install could
be running and you control panel application can't tell if the "correct"
msiexec has exited or not...

"an******@gmail .com" wrote:
Displaying the app after it's installed: It's a service with a
separate control panel EXE and the control panel starts after the
installation is complete. So it starts the process with an argument "/
setup", which tells the control panel to wait for the setup window to
close:

static void WaitForSetupToC lose()
{
FindWindow:
bool found = false;
foreach (Process p in
Process.GetProc essesByName("ms iexec"))
{
if (p.MainWindowTi tle.ToLower().C ontains("my
title"))
{
found = true;
break;
}
}
if (found)
{
Thread.Sleep(50 0);
goto FindWindow;
}
}
Apr 10 '07 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1099
by: Oz | last post by:
Hi We in our company build asp.net and MS SQL Server apps for deployment on clients' machines. We have created an Installer class (DBInstaller) which runs several scripts to build a database, populate it will data, etc. I would like to be able to create a setup file, which, if the application is NOT installed on the client computer, installs from scratch. This already works in the MSI file we create. However, if the application DOES...
2
1618
by: meh | last post by:
Where can I find more info on setting up an installation. For example I have created my setup routines and the default stuff is working fine. but..... I need to give the user some options of what he can install. I have not found anything resembling that in the default setup wizard. TIA meh
2
3193
by: BobAchgill | last post by:
Can you recommend a tool that can help me with setup and deployment of my VB.Net Windows form application? I have read through the stuff and also tried the setup wizard with Visual Studio but am still left with how to questions. It would be nice to have a developer user interface that will help lead me through adding the bells and whistles... licence agreement, repair in place,
2
1932
by: | last post by:
I am new to Visual Basic.Net using the Standard Edition, which does not come with a Deployment wizard, so I use the template on the File Systems Tab. Everything works fine, and I have enabled the following (Where "MyProgram.exe" is my new VB,net creation) When the user runs Setup.exe, he is presented with the choice of installing to \Program Files\MyProgram or a location of his choosing. Setup copies all the files to that location,...
0
1638
by: Aparna Rege | last post by:
Hi, I want to create an installation for my project (built using VB.Net 2003). I have two components in the setup and user may install only one of them to start with. I would like to give users the ability to run the setup again to install the other component. I have built the setup using the Setup and deployment project in VB.Net. But after installing, when I run the setup again, the only options I have are 'Repair' and 'Remove'. I don't...
2
1760
by: sudhaoncyberworld | last post by:
Hi all I am using VS2005, How can I deploy the .Net Framework from my setup project? In the bootstrapper setup program we have below 3 options 1.Download prerequisites from the component vendor's web site
7
1702
by: Bob | last post by:
I want my aps to the insalled as was the old way under c:\Program files\Myapp or give the user the choice as before of installing the app in another folder location. That again no longer seems to be the default way things are done when you publish an app in Vs2005, Microsoft has again <GGGG> seen in their infinite wisdom that they needed to build a better mousetrap for us. Now they install app somewhere in the mydocuments folder...
3
3950
by: sanghavi | last post by:
how to create a set up project in vb.net..how to run an application on a different machine
0
1353
by: Andrus | last post by:
I created .NET 3.5 SP1 Winforms application setup by pressing publish button in VCSE 2008 SP1 Running created setup.exe in same computer causes error below "Reference in the manifest does not match the identity of the downloaded assembly RdlDesigner.exe." and application is not installed. RDLDesigner.exe file is application created using VCSE 2008 How to fix ?
0
8888
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9401
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9257
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
6702
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4517
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4782
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3221
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
2634
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2157
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.