473,221 Members | 1,929 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,221 software developers and data experts.

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 4025
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.Uninstall. 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 WaitForSetupToClose()
{
FindWindow:
bool found = false;
foreach (Process p in
Process.GetProcessesByName("msiexec"))
{
if (p.MainWindowTitle.ToLower().Contains("my
title"))
{
found = true;
break;
}
}
if (found)
{
Thread.Sleep(500);
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 WaitForSetupToClose()
{
FindWindow:
bool found = false;
foreach (Process p in
Process.GetProcessesByName("msiexec"))
{
if (p.MainWindowTitle.ToLower().Contains("my
title"))
{
found = true;
break;
}
}
if (found)
{
Thread.Sleep(500);
goto FindWindow;
}
}
Apr 10 '07 #7

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

Similar topics

0
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,...
2
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...
2
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...
2
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...
0
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...
2
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...
7
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...
3
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
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...
1
isladogs
by: isladogs | last post by:
The next online meeting of the Access Europe User Group will be on Wednesday 6 Dec 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, Mike...
0
by: veera ravala | last post by:
ServiceNow is a powerful cloud-based platform that offers a wide range of services to help organizations manage their workflows, operations, and IT services more efficiently. At its core, ServiceNow...
0
by: VivesProcSPL | last post by:
Obviously, one of the original purposes of SQL is to make data query processing easy. The language uses many English-like terms and syntax in an effort to make it easy to learn, particularly for...
0
by: abbasky | last post by:
### Vandf component communication method one: data sharing ​ Vandf components can achieve data exchange through data sharing, state sharing, events, and other methods. Vandf's data exchange method...
2
by: jimatqsi | last post by:
The boss wants the word "CONFIDENTIAL" overlaying certain reports. He wants it large, slanted across the page, on every page, very light gray, outlined letters, not block letters. I thought Word Art...
0
by: stefan129 | last post by:
Hey forum members, I'm exploring options for SSL certificates for multiple domains. Has anyone had experience with multi-domain SSL certificates? Any recommendations on reliable providers or specific...
0
Git
by: egorbl4 | last post by:
Скачал я git, хотел начать настройку, а там вылезло вот это Что это? Что мне с этим делать? ...
1
by: davi5007 | last post by:
Hi, Basically, I am trying to automate a field named TraceabilityNo into a web page from an access form. I've got the serial held in the variable strSearchString. How can I get this into the...
0
by: MeoLessi9 | last post by:
I have VirtualBox installed on Windows 11 and now I would like to install Kali on a virtual machine. However, on the official website, I see two options: "Installer images" and "Virtual machines"....

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.