cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Java file issue

I have a .jnlp file that gets created in the user profile when a user accepts a prompt when the app is first opened.

I am trying to just copy this file during the installation so that user won't get the prompt. How can I do this using InstallShield. I mean copy a file to user profile folder?

Thanks in advance.
(5) Replies
There's two steps for this:

1. Install this file as the keyfile of its own component with a Destination of somewhere under [USERPROFILE] in the 'Files and Folders' view. Just right click in this view, and select 'Show Predefined folders'.

2. Create a registry entry under the newly created component's Registry view (you'll do this from the 'Components' view). Then, set this entry as the Keypath.

What this will do is install the file to where you are expecting, and then trigger Autorepair when you launch the application from an Advertised shortcut, and reinstall this file so that it's present when the application runs.
Thanks for the reply.

I can understand step 1 but step 2 is bit confusing.

"2. Create a registry entry under the newly created component's Registry view (you'll do this from the 'Components' view). Then, set this entry as the Keypath"

What registry entry are you referring to? What should be the registry entry?

Thanks.
Sorry about the previous response, I neglected to mention the specifics of the registry entry in question.

The entry will need to be under HKCU somewhere. It can be anywhere, but I would recommend something like HKCU\Software\YourCompany\.

Basically, this takes care of the situation where another user logs in and runs the application from an advertised shortcut--since their HKCU hive will be different, the keypath will be missing, and you'll get AutoRepair.
To further clarify, since it's just something that will trigger the repair when it's missing, you can use any registry entry (REG_SZ, DWORD, etc.), and it won't matter what it is storing.
Thanks. I will try this and let you know how it went.