Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Changes to MSI to support assignment


2 replies to this topic

RayKode

RayKode
  • Full Members
  • 58 posts

Posted 25 August 2005 - 20:51

Howdy everyone,

I'm making progress with learning about advertisement.

I have been asked show the development staff here, (where I work) what the user would see if the various types of adversising were implemented.)
(Assignment and publishing.)

With regards to Assignment, I have some questions that I would like an opinion on .......

So here goes.

I have a basic MSI installation program that puts down four executables on the hard drive, creates registry entries, a group and four shortcuts(inside the group) to the executables.

This MSI has three features.
Two of the three features ALWAYS get installed and are not visiable to the user during a UI installation.

The third feature does how up as selectable but, the default is to install the feature.

Things work great when this is run from a command line or by double clicking on the MSI object.


Here's the deal .......

I would like to "Assign" this application to a machine and then to a specific user.

Based on my interpretation/understanding that "Assigning" is one of the two forms of Advertisement, I'm unsure if I would need to make any changes to the MSI in order to support assigning it to a machine and then a specific user.

Question one:
Would I need to change the the Advertisement setting from "Disallow" to "Disable advertise if not supported" ?

Question two:
Would I need to change anything about the shortcuts that I create inside of the group ?

If my understanding is correct, I'm thinking that .

If the application is assigned to a machine, the installation program automatically run the next time the machine starts or restarts AFTER the assignment is done. (msiexec /JM location_and_name_of_the_msi)

Additionally, If the admin assigns an application to a user, the installation program places a shortcut on the start menu of the users machine. When the user selects the shortcut or launches a document associated with the assigned application, the application is assigned.

Question three:
What is this shortcut pointing to ?
The installation program ?
Is this a shortcut that I have to create or is this shortcut generated by the assignment process that is pointing to the installation program ?

Question four:
What if I wanted the installation program, when started, to run in silent mode ?
Is that possible ?

Thanks in advance to anyone who responds.

More Advertising questions to come when I begin work on the second type of advertising called "Publishing".

Thanks everyone.

Ray in Wisconsin





Zweitze

Zweitze
  • Full Members
  • 522 posts

Posted 25 August 2005 - 21:40

I did some work on this, although it's a long time ago...

Most important: you probably need to redesign the feature tree. When a shortcut of your app is invoked, the just-in-time install kicks in, and install ONLY that feature. If the feature has parent features, those are installed as well. Child features, siblings etc. are not installed, even when they are mandatory, invisible, etc.

Further, make sure that the advertizing sequence works. Msiexec has command-line options to do so (I believe /j). It's also much easier for testing, beats the hell out of configuring a domain controller, creating the Group Policy object, logging off, then logging on, just to get it installed.

About your questions:
1. Actually I don't have an idea. I think that setting is ignored when the advertizing sequence is run.

2. Only shortcuts that point to the key file of the component are supported.

3. Shortcuts work like this:
They rely on Active Desktop technology. When the explorer is invoked to start the shortcut, it sees the Active Desktop extension, and looks it up (I assume it's in the registry). It finds it's linked to the Windows Installer, so it activates that. Windows Installer decodes the rest of the information, and sees its ProductCode, ComponentCode and feature name. It checks that information, and also whether everything is in place. The first time, this will not be the case, so it repairs that feature. After doing so, the actual target is invoked.
All you have to do is define a shortcut to the keypath of the component.

4. Assignment can only be run silently, what do you mean? When the user logs on, he sees "installing software". When it is invoked, he sees a progress.

About publishing: that's much easier! The difference is that you package becomes a "Managed application", each user must go to Add/Remove programs, look at "Programs on the network", and start your install.

RayKode

RayKode
  • Full Members
  • 58 posts

Posted 20 September 2005 - 16:19

Good Tuesday morning,

First, I want to apologize for not responding sooner.

I'm a Red Cross volunteer and have been in Louisiana pretty much, since the hurricane.

Thanks for taking the time to get through my rambling e-mail.
AND, for replying.

I DO appreciate your response.

I found your email content very helpful and especially your advice on re-working the feature tree.
I never would have guessed it would have worked that way.

In any event, thanks to your help, and some trial and error, I was able to achieve my goal.

Thanks again for responding.

Take care.

Ray in Wisconsin