This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Problem adding extra files to installed programm using license keys with Basic MSI Pr
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 18, 2009
09:24 AM
Problem adding extra files to installed programm using license keys with Basic MSI Pr
Hello,
We have a product that is setup with modules.
(like Office where you have one product but it contains a lot of other products).
Every combination of modules has its own license key
for example
Module License key
Default 12345
Default + module 1 23456
Default + module 2 34567
Default + module 1 + 2 45678
An so on
So depending on the entered license key the corresponding components wil be installed.
Believe it or not, this works, until..... 🙂
We want to run the setup again, oure custumor has Default + module 1 and now he added module 2 to his license and so he got a new license key voor Default + module 1 + module 2.
I re-run the setup, first I have to chose wether to edit, repair ore uninstall my product. (I don't realy want this screen but if it works it ok)
I want to edit my previus installation, I get the screen where i have to enter my license key so I enter the new key (I also cheched if the right returncode was given after entering the Lincese key and this is ok) but then Installshield does not add the new files, it does a lot but ends up doing nothing 😞 .
It seems the only things it does is overwrite (if neccesary) the already existing files on the system, the newfiles which come with the new license key are completely ignored. :confused:
How can i do this right that I can rerun an MSI instalshield and add (or remove) modules based on a license key.
What oure customers has to do now is uninstall the softwrae and reinstall it using the new license key.But if he chnaged some of the files (which he is allowed to do) those files are uninstalled to.
Can anyone help me with this one?
Regards
Herbert
We have a product that is setup with modules.
(like Office where you have one product but it contains a lot of other products).
Every combination of modules has its own license key
for example
Module License key
Default 12345
Default + module 1 23456
Default + module 2 34567
Default + module 1 + 2 45678
An so on
So depending on the entered license key the corresponding components wil be installed.
Believe it or not, this works, until..... 🙂
We want to run the setup again, oure custumor has Default + module 1 and now he added module 2 to his license and so he got a new license key voor Default + module 1 + module 2.
I re-run the setup, first I have to chose wether to edit, repair ore uninstall my product. (I don't realy want this screen but if it works it ok)
I want to edit my previus installation, I get the screen where i have to enter my license key so I enter the new key (I also cheched if the right returncode was given after entering the Lincese key and this is ok) but then Installshield does not add the new files, it does a lot but ends up doing nothing 😞 .
It seems the only things it does is overwrite (if neccesary) the already existing files on the system, the newfiles which come with the new license key are completely ignored. :confused:
How can i do this right that I can rerun an MSI instalshield and add (or remove) modules based on a license key.
What oure customers has to do now is uninstall the softwrae and reinstall it using the new license key.But if he chnaged some of the files (which he is allowed to do) those files are uninstalled to.
Can anyone help me with this one?
Regards
Herbert
(4) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 18, 2009
11:19 AM
How do you have this structured internally? Do you have multiple features, each of which is chosen for installation or not by the license key entered, or do you have conditions on individual components? If components, this is going to be a pain, as conditions are generally not re-evaluated during maintenance operations. There is a per-component option to re-evaluate them, but I'm not sure it's a good match for this scenario.
If you've got this split by feature, how do you select which features get installed--is it by feature conditions, or by judicious use of the ADDLOCAL property, AddLocal control events, or MSI API in a custom action? Feature conditions are not evaluated after a first time install, so you'll need to look into the other options.
If you've got this split by feature, how do you select which features get installed--is it by feature conditions, or by judicious use of the ADDLOCAL property, AddLocal control events, or MSI API in a custom action? Feature conditions are not evaluated after a first time install, so you'll need to look into the other options.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 19, 2009
01:13 AM
Every feauture is a module with a condition, the feautures are build up with one or more components with the same conditions as the features. Zo I use both conditions on Components and Features, and both don't work you say after a first time installation.
In my Installshield after the welcome, user has to enter the license key so I know from the beginning the features that has to be installed. I check the license key with a .net DLL in a custom action witch returns a resultcode that I use in my conditions.
Firts I wanted to use the list view with al available modules, and the ones that where not in the license should be disabled and not selectable, but i couldt not realise this, so I used the conditions.
I was happy first because on first time installation it workt perfectly, but as you say youreself those conditions are ignored the following time the setup runs.
Do you have a better Idea how i can do this? What method kan I use to make sure only those files are copied to the workstation the user has payed for.
In my Installshield after the welcome, user has to enter the license key so I know from the beginning the features that has to be installed. I check the license key with a .net DLL in a custom action witch returns a resultcode that I use in my conditions.
Firts I wanted to use the list view with al available modules, and the ones that where not in the license should be disabled and not selectable, but i couldt not realise this, so I used the conditions.
I was happy first because on first time installation it workt perfectly, but as you say youreself those conditions are ignored the following time the setup runs.
Do you have a better Idea how i can do this? What method kan I use to make sure only those files are copied to the workstation the user has payed for.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 19, 2009
05:20 PM
This isn't an easy thing to accomplish. You'll need to modify the feature states with custom actions that call into the Windows Installer API, and more. At the same time, even after you do all this, an enterprising overeducated user can bypass almost any MSI implementation protection and install any feature he likes, so you'll have to have a similar check in the runtime. Once you've got that, you may find it simpler and more robust to have the installer allow your users to place all the files on the machine, and just have all the license key enforcement at runtime. InstallShield itself tends to follow this lay-it-all-down method.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 20, 2009
07:32 AM
Thank you Michael,
This seems to get complex for a beginner with MSI installshields, I think I have to try i another way, I will start using a Installscript MSI project, perhaps I can solve my problem using Installscript, I am more experienced using Installscript becase the last 3 Years I am building Installscript Installshields, but want to extend my IS's with MSI techniques.
This seems to get complex for a beginner with MSI installshields, I think I have to try i another way, I will start using a Installscript MSI project, perhaps I can solve my problem using Installscript, I am more experienced using Installscript becase the last 3 Years I am building Installscript Installshields, but want to extend my IS's with MSI techniques.