How can I write a custom action for the Enterprise Architect applcation to fetch the License Key File from a shared location on the Network....

The MSI is Vendor MSI and I need to provide for the shared License Key File(by browsing through the Network path for share folder) while launching the application.... I have to Repackage such that the User is not prompted for this dialogue and should be able to work with the Application with out entering the license Key File.

Any help is appreciated.
0 Comments   [ - ] Hide 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.
Answer this question or Comment on this question for clarity


VBScript custom action to go to the network drive and copy the file to the correct location on the PC.

You will need to wrap error checking around the network copy incase the drive doesnt exsit.

Alternativly put the file inside the MSI, via a transform.

Having re-read your post, are you saying that when you load the app it prompts for a license file? If so procmon that registration process to find the keys that make this work and include them inside your transform?

Answered 11/04/2008 by: Inabus
Second Degree Green Belt

Please log in to comment
I appreciate your quick response...

Can you tell me in detail as how to include that file via transform and the file is actually share from network and needs to be mapped and then browsed manually for the registration. If the file is copied or moved it throws an error stating File has been moved.
Answered 11/04/2008 by: yshariff
Orange Senior Belt

Please log in to comment
Answered 11/04/2008 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment

Not sure if you have resolved this for yourself or not, but I have just gone through the same thing. The solution I found is making a transform (best practices) or editing the vendor MSI to import the following .reg file.

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Sparx Systems\EA400\EA\OPTIONS]
"SharedKeyFolder"="Path to license key"

The path to the license key can be either a mapped drive or full UNC path.
Answered 11/16/2008 by: B.Stobbs
Yellow Belt

Please log in to comment
By using what you suggested, resolved the problem.

But as the entries are in HKCU, when i try to login as another user on the same machine, these HKCU entries are not getting created for another profile when I try to launch the application through shortcut.

When I opened the .MSI and checked it, the shortcut's component has no key path. So I tried to create a transform for this, and moved the shortcut to the component where the target .exe is located. But even after that, the application doesn't bring back the HKCU entries for the other users.

I made sure that the component where the registries reside is also having the key path.

Any suggestions how to bring back the HKCU entries when the shortcuts are launched? Coz, this vendor MSI's shortcuts are not handled properly.

Answered 08/06/2009 by: elziarun
Senior Yellow Belt

Please log in to comment
First of all make sure that the shortcut in the vendor MSI is advertised, and make a seperate component that contains the reg values, make sure you set one value as key path. Since it's possible the values actually already exist but have different contents, you might want to add a control value of your own and make this the keypath... something along the lines of LicenseSet = 1

This way launching the app via the shortcut should trigger a repair of the component if the keys are missing.

If you don't want to work with advertised shortcuts I personally find the cleanest solution to triggering repairs to be ActiveSetup. You can find a good explanation of it here. Basically it triggers a comand for every user that logs in for the first time after the installation

Just trigger the msi's repair function in the stubpath command, something along the lines of msiexec.exe /fu <productcode> /qn
Answered 08/06/2009 by: pjgeutjens
Red Belt

Please log in to comment