/build/static/layout/Breadcrumb_cap_w.png

Register Dll's before Install Welcome sequence!!!

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

Answers (8)

Posted by: nheim 16 years ago
10th Degree Black Belt
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
Posted by: vijayakumar 16 years ago
Orange Belt
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
Posted by: nheim 16 years ago
10th Degree Black Belt
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
Posted by: vijayakumar 16 years ago
Orange Belt
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.
Posted by: anonymous_9363 16 years ago
Red Belt
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 :(
Posted by: nheim 16 years ago
10th Degree Black Belt
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
Posted by: AngelD 16 years ago
Red Belt
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.
Posted by: vijayakumar 16 years ago
Orange Belt
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
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Don't be a Stranger!

Sign up today to participate, stay informed, earn points and establish a reputation for yourself!

Sign up! or login

Share

 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ