1) The Installshield dialog asks for the serial. This is the szSerial=xx-xxxx-xxxx from the setup.iss file.
2) The install conintues and says it is creating registry entries and such and registrering modules. At this point msiexec queries for the key: HKLMSoftwareSACEncryptionkeyname and gets a 'NOT FOUND'. Msiexec then proceeds to write a filler key 'xx-xxxx-xxxx'
3) Some post install/ODBC configuration is requested. The install is done at this point. Right when I click finish it writes that keyname entry as DS-1234-5678, the real key.
NOTE: the process that is writing this is IDriver.exe, not msiexec as in step 2 above.
That encryption key folder doesn't really contain anything that is encrypted, only the one key. I have populated this key via a transform file before and it is correctly entered into the registry, but the appliation still runs in demo version.
Thanks for the input thus far.
Priapus I tried exporting then reimporting the registry keys over and it still ran as the demo version.
Bladerun I added szSerial DS-1234-5678 to the property table and no luck as well.
Run Orca tool and open the MSI package of the setup project demo we made it before 'SetupDemo.msi'. Select Binary table from the left panel and from the context menu select Add Row, name the new row ' CheckPIDDll ' and set the data value to the path of the validation library (either Delphi or C++ version).
Is there any way in which data can be added in already built setup made by Installshield?
What I need is to add different product keys for a same setup executable without the need to build a separate copy for each product key.
Is there any way in which this could be achieved using Installshield?
Since you are using an InstallShield setup.exe, the simplest approach is probably to also use the tool setupini.exe (in some earlier versions of InstallShield this was a separate 'unsupported' tool, and you can find downloads in our KB system). You could use this in a manner similar to that shown in the article, to modify the command line passed to the MSI package to include a property that contains the key. Using a property called
PRODUCTKEY it would look like this:
For this to be meaningful, you would have to include something in the installer that uses this property. The simplest may be a registry key whose value (or value data) includes a reference to the
PRODUCTKEY property. Represented as a .reg file, that might look like this:
PRODUCTKEY should be a public property (its name includes no lower case characters), and listed in the
SecureCustomProperties property. Note as well that this should be considered advisory rather than secure: if, for example, you are looking to license your product by requiring the customer to enter a matching code, don't. This approach makes the key available to customers with the know-how to log the installation, or even to find command-lines with task manager.
If setting a property is insufficient for your needs, you could also consider creating a transform, and configuring it to apply automatically through the use of setupini.exe, but then you will also have the problem of getting the transform to the customer since he probably downloads only a single file today, and this would require two files.