Hi,

I have 2 msi's. One is the main installation msi and other is the Licensing installation msi. The installation flow is like this:

1. Start the installation with the main msi.
2. In the Ready to install Sequence, check for some conditions and install the prequisites like: Install the 1st pre-req, then execute the licensing msi(since licensing component is dependent on the 1st pre-req), then the remaining pr-reqs.
3. After these, the actual installation proceeds.

Now, i am asked to include the licensing msi in the main msi itself(which means that instead of having 2 msi's, we need to have only one).

The licensing msi has some files(dll's and exe's) and registries which are installed. then these dll's are getting registered. Then an licensingwizard.exe is getting executed, where the entered license key is evaluated.

I tried creating a new feature and installed this feature based on a condition. But i need to get the licensingwizard executed in the 'Ready to Install' sequence. For this to be executed, all the dl's should be registered.

Pls, help me on how to achieve this?

Thanks.
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
Hi Vijay,
things like that are very bad practice and will never work under Vistas UAC!
Rethink the situation: Most likely you don't need that licensing stuff this early in the installation.
The first time licensing actually is used, is when you start the app for the first time, isn't it?
If there are any dependencies in the main MSI, which check for the presence of the licensing stuff (condition table, custom actions), just disable them.
Regards, Nick
Answered 05/20/2008 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
any dependencies in the main MSI, which check for the presence of the licensing

Hi Nick,

Thanks for the suggestion. But, the main installation should continue only if the license key entered is valid. This task is done by the licensing msi. As said earlier, the licensing msi has some dlls and reg, which gets registered during its installatio and from where the license key is evaluated.

So, how to handle this scenario. Hope i am clear in explaining.

Thanks.
Vijay
Answered 05/20/2008 by: vijayakumar
Orange Belt

Please log in to comment
0
Hi Vijay,
looks like a paranoid application creator/vendor to me :-)
One possibility would be to chain the MSI's together with a setup.exe wrapper.
If you use a deployment system, you just install the licensing MSI as prerequisite.
IMHO, using two MSI's is a better way in this case, than breaking MSI's design rules.
In the future, this should be possible, when WI 4.5 introduces MSI-chaining.
Regards, Nick
Answered 05/20/2008 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Thanks for the suggestion. But, the main installation should continue only if the license key entered is valid.

Hello Nick,

Yes, you are right.

As of now the installation behaves in the said way("chain the MSI's together with a setup.exe wrapper"). But i was asked to merge the 2 msi's into a single msi.

Yes, you are right. < "using two MSI's is a better way in this case, than breaking MSI's design rules.">.

I will try to explain this situation and procees.

As a work around(if at all it is required to merge), can i do in what i stated initially. Is that possible?

Thanks Nick.
Answered 05/20/2008 by: vijayakumar
Orange Belt

Please log in to comment
0
Why not break ALL the "rules" and capture it to a new MSI? Sub-optimal, I agree, but what you're being asked to do is hardly best practise in itself, anyway :(
Answered 05/20/2008 by: VBScab
Red Belt

Please log in to comment
0
Hi Vijay,
i still wouldn't do it. What are you gaining from this:
- One file. You have that already with the wrapper.
- New problems: If you copy/register/call exe/dll files outside of the MSI script, you will encounter permission problems.
- Vistas UAC will most likely kick in an trow a popup.

if you allways use it with the dialogs you could call the license MSI early in the "InstallUISequence" with a CA.
Another not so elegant way could be to to the license check at the end, right before "InstallFinalize". Then, you would have to fire a Rollback CA, if the license check went bad.
But if you want to do it the "hard way", use a script to do this licensing stuff and go a head.

@Ian: That would be change nothing on the problem, because the license checking should be done in front of the installation process.

Regards, Nick
Answered 05/20/2008 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
Is this package going to be a "vendor" MSI or are you just going to install it in your corporate environment?
If the latter I would skip the license check and handle the installation for approved users through your deployment solution instead.
Answered 05/20/2008 by: AngelD
Red Belt

Please log in to comment
0
handle the

Hi,

Nick: You are absolutely right. Even i felt it hard to merge the msi's. But, i was asked to merge the msi's. I thought of atleast exploring the feasibility of this and explain to the cust. If at all it is required by them, then i need to be sure that it can be achieved in some way.

Angel: This is not a vendor msi nor going to install it in our corporate environment. We are using any deployment tool. This is a standalone software installed individually by user.

Thanks to All.
Vijay
Answered 05/20/2008 by: vijayakumar
Orange Belt

Please log in to comment
Answer this question or Comment on this question for clarity