Solved

ProjectInstaller: Get installedfolder and other properties at installation

Posted on 2003-11-14
18
482 Views
Last Modified: 2007-12-19
Hi all,

I've built a Windows Service in VB.NET.
Added a projectinstaller and a setup project which creates the MSI and Setup.exe.
This all works fine.

I want to add a form that can be displayed at the end of installation (OnAfterInstall event) in which the user can do some settings.
In this screen I also want to display the folder that the service is installed to.

I can display the form, that's no problem.
But I can't seem to find the "installation properties" like the installation folder (ie: the folder in which the service is installed).

Any ideas?

D'Mzz!
RoverM

Ps: For a complete working example in VB.NET I'll up the points to 500.
0
Comment
Question by:roverm
  • 9
  • 8
18 Comments
 
LVL 9

Expert Comment

by:Joeisanerd
ID: 9752756
Write the installed folder value to the registry, then read that value when you show the form. If you are using the setup project stuff the TARGETDIR is the keyword for the install directory.
0
 
LVL 12

Author Comment

by:roverm
ID: 9763221
Hi,
I am using the 'setup project stuff' but I can't seem to access that from my ProjectInstaller.
Also, I don't want to write to the registry.

Thanks tho.

D'Mzz!
RoverM
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9763873
Installer.ProductInfo("{product code guid}","InstallLocation")
0
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 
LVL 12

Author Comment

by:roverm
ID: 9763970
TheLearnedOne:
My installer doesn't provide a 'ProductInfo' prop.

Just to make sure: I am using the ProjectInstaller in my Service Project.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9764069
Sorry, all I focused on was the MSI part.  You can get this property from there.  

You are talking about ServiceInstaller, correct?
0
 
LVL 12

Author Comment

by:roverm
ID: 9764109
What do you mean : "MSI part".
Can I access the MSI from the ProjectInstaller?

ProjectInstaller: Right click on 'Service1' (your service in the designer) and choose 'Add Installer'.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9764156
No.  I just saw the word MSI in your initial comment, and that is the method within the Windows Installer.  

Now that I understand better, AFAIK there isn't any way to get the Installed location from the Installer class.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9764231
Have you looked at the Context property?  It has parameters, and since I haven't used this, I am not quite sure what information it can give you.
0
 
LVL 12

Author Comment

by:roverm
ID: 9764242
*lol*
It must be possible....
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9764262
I usually keep this process pretty simple, so I don't have much experience working outside the box on this one.  I am willing, though, to extend a little further outside my "comfort" zone, and help you find this information, because I agree with you that it should be possible.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9764394
How is your Install process started?  Are you using InstallUtil?
0
 
LVL 12

Author Comment

by:roverm
ID: 9765552
I've added a setup project to the service project.
The setup creates the MSI and a setup.exe.

The installation will be started by double clicking the msi or the setup.exe.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9765721
I always use InstallUtil, so I have to ask, how it the MSI file generated for you?
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 9765771
I figured a little more out here.  You created a Setup and Deployment project.  Doh!!

Is the ProjectInstaller in the Windows Service project?  In the Setup project, what is the value for the 'Application Folder' setting?
0
 
LVL 12

Author Comment

by:roverm
ID: 9765777
0
 
LVL 96

Accepted Solution

by:
Bob Learned earned 250 total points
ID: 9766696
In the AfterInstall event there is a sender parameter, which is an IDictionary object for the saved state of the computer.  Did you check the settings from that?

Also there is an article at, which talks about adding additional functionality to the Walkthrough you addressed:

Install a Windows service the way YOU want to!
http://www.codeproject.com/useritems/WindowsServiceInstall.asp
0
 
LVL 12

Author Comment

by:roverm
ID: 9911313
Closed the Q, was open long enough.... ;-)
Actually it didn't solve my Q but I put me on 'a certain track'. Hopefully I will be able to read it.

Thanks!
D'Mzz!
RoverM
0
 
LVL 12

Author Comment

by:roverm
ID: 10079820
Found the solution.... wanna know?
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

786 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question