Hello fellow app-deployers,

I'm working with Interwoven iManage DeskSite v8.2 and Interwoven iManage FileSite 8.2 (document management system client applications)

Installing the application goes fine, with no problems - and our firm wants to add customizations to the views, settings, etc for each user -- these are all stored by registry entries located in the HKCU hive. The only issue is there are A LOT of registry entries -- probably upwards of 200 entries. [:(]

My initial approach to achieve this would be to create new components for each registry entry, and make this registry entry a key path in the component (to allow for self-repair on first running the application). Each component would only have one registry entry -- as there can only be one key per component.

As you can probably guess, there will be A LOT of components (as there are a lot of registry entries to self-heal).

Is it a good idea to do it this way? Is there a better, more efficient way of achieving this?

Thanks in advance for your input!

*edit*
Wanted to add this will be deployed via AD Group Policy and created using Macrovision InstallSheild Editor 11.5
0 Comments   [ + ] Show Comments

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.

Answers

0
I just came across this idea after reading through the ActiveSetup article here (http://itninja.com/blog/view/appdeploy:-articles:-activesetup)

What if I utilized ActiveSetup for this...

From ActiveSetup, can I have it run a simple registry file (ex. reg_customizations.reg) which only contains HKCU data? This file would be stored locally (in the INSTALLDIR)...

In the article, they have ActiveSetup running "Msiexec.exe /fpu....." which will fire off a repair function. I don't really want it to repair in this sense (since the HKCU isnt located in the package). Could I just have ActiveSetup fire off a registry file to merge the data into the HKCU hive??
Answered 07/03/2007 by: JdotQ
Senior Purple Belt

Please log in to comment
0
OK, so I just wanted to post my findings/experience with this.

Apparently ActiveSetup can execute anything (VBscript, EXE, Reg file, etc) as long as it's in the StubPath value. I had to play around with it a bit to get it to finally work, but here's what I ended up with;


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{8B4B08BC-C27C-41F7-9572-3FBE3409637F}]
"StubPath"="C:\\WINDOWS\\regedit.exe /s \"C:\\Program Files\\Interwoven\\WorkSite\\custom_hkcu.reg\""
"Version"="1"


The GUID under the "Installed Components" is the same GUID of the Product Code for the MSI package.

I also noticed that I was unable to achieve the desired results by attempting to use a system variable (ex. %ProgramFiles% instead of C:\Program Files\) in the path to the local .reg file -- ex. "%ProgramFiles%\Interwoven\Worksite\custom_hkcu.reg" did *not* work, while "C:\Program Files\Interwoven\Worksite\custom_hkcu.reg" worked!

And just having the path to the .reg file worked without having to have quotes, but since it was desirable to have the registry changes added silently, then adding the quotes to path was preferred.

Thanks to everyone on the forum that posted about ActiveSetup in the past -- there's some very good info out there! [:D]
Answered 07/03/2007 by: JdotQ
Senior Purple Belt

Please log in to comment
0

Hi JdotQ,
alway nice to see people make their own findings. :-)
However, let me make a few comments:
Wouldn't do it with the registry file approach. This has caveats, like having hard coded paths in their.
The best way to go, IMHO, would be to do it with the MSI's registry table. You don't need a new component for each line.
A few - or just a single one - does the trick. Figure out, which one really have to be keys (you wouldn't have any keys with reg file).
And isolate this stuff in a single top feature. See: http://www.itninja.com/question/current-user-self-healing
Then call it initially with Active Setup: msiexec /fu {Productcode}

Regards, Nick

Answered 07/04/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
I would second Nick on the registry approach.

in locked down environments this could get you into some trouble.

to run a reg file users need access to run regedit some domains deny this capability.
Answered 07/09/2007 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
0

ORIGINAL: nheim

Hi JdotQ,
alway nice to see people make their own findings. :-)
However, let me make a few comments:
Wouldn't do it with the registry file approach. This has caveats, like having hard coded paths in their.
The best way to go, IMHO, would be to do it with the MSI's registry table. You don't need a new component for each line.
A few - or just a single one - does the trick. Figure out, which one really have to be keys (you wouldn't have any keys with reg file).
And isolate this stuff in a single top feature. See: http://www.itninja.com/question/current-user-self-healing
Then call it initially with Active Setup: msiexec /fu {Productcode}

Regards, Nick

Thanks Nick and jmc for the reply.

If I understand it correctly -- having all these registry entries in one component, there can only be one key per component, so there would only be one registry entry could be a key. And when the self heal starts, it only repairs the key files? So only one registry entry (the key) would be written to HKCU? Or will it repair every registry value inside the component, even if they are not key components?

Thanks again!

Answered 07/10/2007 by: JdotQ
Senior Purple Belt

Please log in to comment
0
It will install/repair the whole component if the components keypath is missing/broken.
Answered 07/10/2007 by: AngelD
Red Belt

Please log in to comment
0
ORIGINAL: AngelD

It will install/repair the whole component if the components keypath is missing/broken.

Ah, my misunderstanding. Thanks for clearing it up [:D]
Answered 07/10/2007 by: JdotQ
Senior Purple Belt

Please log in to comment
0
Its good practice where possible to put the registry in the same component as the resource (dll)

If you do this reference counting will be performed on the component (basically the dll) the registry would be part of the component and would be deployed whenever the dll is deployed.

this becomes a little more complex if you have HKCU registry as well but this is unlikely in the event your registering a dll

hkcu can go in a separate component.

I have written some articles on self healing and posted them here and wise and myitforum if you want more detail lookup

"Current User Healing"

it explains the entire healing process in detail.
Answered 07/10/2007 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
Answer this question or Comment on this question for clarity