Solved

ProjectInstaller: Get installedfolder and other properties at installation

Posted on 2003-11-14
18
481 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
 
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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
WPF - Tooltips for ComboBox items 5 27
Access Web appliction 7 46
Runtime Error 2 27
Automated testing suggestions? 2 18
A basic question.. “What is the Garbage Collector?” The usual answer given back: “Garbage collector is a background thread run by the CLR for freeing up the memory space used by the objects which are no longer used by the program.” I wondered …
Recently while returning home from work my wife (another .NET developer) was murmuring something. On further poking she said that she has been assigned a task where she has to serialize and deserialize objects and she is afraid of serialization. Wha…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
A short film showing how OnPage and Connectwise integration works.

943 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

Need Help in Real-Time?

Connect with top rated Experts

7 Experts available now in Live!

Get 1:1 Help Now