Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 497
  • Last Modified:

ProjectInstaller: Get installedfolder and other properties at installation

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
roverm
Asked:
roverm
  • 9
  • 8
1 Solution
 
JoeisanerdCommented:
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
 
rovermAuthor Commented:
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
 
Bob LearnedCommented:
Installer.ProductInfo("{product code guid}","InstallLocation")
0
Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

 
rovermAuthor Commented:
TheLearnedOne:
My installer doesn't provide a 'ProductInfo' prop.

Just to make sure: I am using the ProjectInstaller in my Service Project.
0
 
Bob LearnedCommented:
Sorry, all I focused on was the MSI part.  You can get this property from there.  

You are talking about ServiceInstaller, correct?
0
 
rovermAuthor Commented:
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
 
Bob LearnedCommented:
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
 
Bob LearnedCommented:
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
 
rovermAuthor Commented:
*lol*
It must be possible....
0
 
Bob LearnedCommented:
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
 
Bob LearnedCommented:
How is your Install process started?  Are you using InstallUtil?
0
 
rovermAuthor Commented:
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
 
Bob LearnedCommented:
I always use InstallUtil, so I have to ask, how it the MSI file generated for you?
0
 
Bob LearnedCommented:
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
 
rovermAuthor Commented:
0
 
Bob LearnedCommented:
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
 
rovermAuthor Commented:
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
 
rovermAuthor Commented:
Found the solution.... wanna know?
0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

  • 9
  • 8
Tackle projects and never again get stuck behind a technical roadblock.
Join Now