/build/static/layout/Breadcrumb_cap_w.png

EXE wrapper for multiple MSI's

I have to package Citrix SecureAccessClient, ICA and EPAClient. This in itself is not the problem. They want to be able to download the lot from a secure site in a single file format to eliminate User as much as possible.

So the scenario is that they will browse to the site from home, click on this file, download and save to desktop at home and then run the 3 MSI's with one "click" as such.

I was going to load all into a CAB/ZIP style file which they would download, extract and then run a VBScript which would install the 3 products in sequence. Another option was to get a tool which I could wrap all three into a self extracting exe which would extract to a temporary location, install the MSI's and perform a clean up of the temporary area. Does anyone know of any suitable free tool which I would be able to achieve this? Or any better suggestions would be appreciated! It must be a single file download though. Thanks

0 Comments   [ + ] Show comments

Answers (8)

Posted by: danr29 16 years ago
Purple Belt
0
Download NSIS. Free tool, easy syntax to learn.
Posted by: dm1 16 years ago
Blue Belt
0
Rob,

Create a simple wisescript that executes the three msiexec commands one after the other. I had a similar scenario a few months back... I've tried locating the WSE script but I cant find it. It's a fairly simple operation in any case. The user will just run the compiled WSE script (It'll be "Install.EXE" or whatever you name it) and each msi will execute in sequence.

Dave
Posted by: anonymous_9363 16 years ago
Red Belt
0
Create a simple wisescript that executes the three msiexec commands one after the other. Sound advice PROVIDED that the OP *has* a Wise product... :) He/she doesn't mention either of the two main protaganists so I figure he/she doesn't have them.
Posted by: oreillyr 16 years ago
Fifth Degree Brown Belt
0
HI All,

Thanks for the input. Sorry should have mentioned that I am using Installshield Admin Studio6 . I will have a look at that NSIS, thanks Dan.
Posted by: brnn8r 15 years ago
Yellow Belt
0
Hey guys,

not sure if this is the right place for this post but I'm really struggling here . I've been packaging for about 4 years now. I know I'm probably not the best but I'm no noob either and I'm really struggling with an application called Citrix Enpoint Analyzer. You can download the MSI from Citrix and it's called EPAClient.msi.

What I can't figure out is how to make it work for users who are in a locked down environment and can't install anything in IE. I've looked at their MSI in ORCA and it just seems a complete mess to me. I've tried setting ALLUSERS=1 to see if that would install for all users but it doesn't seem to work. I'm desperate and am considering trying to recreate an equivalent MSI from scratch that registers (advertised) the file npCtxCAO.dll on a per-user basis and auto heals the first time a user goes to the specific web-page that instantiates the DLL. The problem with this is I don't know enough about the application and what else the MSI is doing that might make it work.

Has anyone deployed this app before with success.

any help would be MUCH appreciated

Cheers
Steve
Posted by: spartacus 15 years ago
Black Belt
0
not sure if this is the right place for this post

You're right, it isn't - a new base note would have been more appropriate.

I downloaded the latest version of EPAClient.msi (you didn't mention the version you were working with) and it looks like the DLL you mention is being deployed by the package as a simple file copy with no accompanying registry and/or COM table entries.

You could try adding the necessary registry entries for the registration of this DLL into the package via a transform. For the version I looked at, 4.2.5, the DLL is named npCtxCAOHF425.dll and it's registration entries look like


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Citrix.CAOControl]
@="CCAOControl Object"
[HKEY_CLASSES_ROOT\Citrix.CAOControl\CLSID]
@="{5AA84ADA-3A1F-4b16-B63D-72DC4CAFC9D8}"
[HKEY_CLASSES_ROOT\Citrix.CAOControl\CurVer]
@="Citrix.CAOControl.4.2"
[HKEY_CLASSES_ROOT\Citrix.CAOControl.4.2]
@="CCAOControl Object"
[HKEY_CLASSES_ROOT\Citrix.CAOControl.4.2\CLSID]
@="{5AA84ADA-3A1F-4b16-B63D-72DC4CAFC9D8}"
[HKEY_CLASSES_ROOT\CLSID]
[HKEY_CLASSES_ROOT\CLSID\{5AA84ADA-3A1F-4b16-B63D-72DC4CAFC9D8}]
@="CCAOControl Object"
"AppID"=""
[HKEY_CLASSES_ROOT\CLSID\{5AA84ADA-3A1F-4b16-B63D-72DC4CAFC9D8}\InprocServer32]
@="C:\\Program Files\\Citrix\\Application\\EndpointAnalysis\\npCtxCAOHF425.dll"
"ThreadingModel"="apartment"
[HKEY_CLASSES_ROOT\CLSID\{5AA84ADA-3A1F-4b16-B63D-72DC4CAFC9D8}\ProgID]
@="Citrix.CAOControl.4.2"
[HKEY_CLASSES_ROOT\CLSID\{5AA84ADA-3A1F-4b16-B63D-72DC4CAFC9D8}\Programmable]
[HKEY_CLASSES_ROOT\CLSID\{5AA84ADA-3A1F-4b16-B63D-72DC4CAFC9D8}\TypeLib]
@="{8B54D13D-7FDD-45C8-86DD-EBE27BCBA323}"
[HKEY_CLASSES_ROOT\CLSID\{5AA84ADA-3A1F-4b16-B63D-72DC4CAFC9D8}\VersionIndependentProgID]
@="Citrix.CAOControl"

[HKEY_CLASSES_ROOT\Interface\{60F9F5BD-56F2-41F7-B7E2-A761F4700478}]
@="_ICAOControlEvents"
[HKEY_CLASSES_ROOT\Interface\{60F9F5BD-56F2-41F7-B7E2-A761F4700478}\ProxyStubClsid]
@="{00020420-0000-0000-C000-000000000046}"
[HKEY_CLASSES_ROOT\Interface\{60F9F5BD-56F2-41F7-B7E2-A761F4700478}\ProxyStubClsid32]
@="{00020420-0000-0000-C000-000000000046}"
[HKEY_CLASSES_ROOT\Interface\{60F9F5BD-56F2-41F7-B7E2-A761F4700478}\TypeLib]
@="{8B54D13D-7FDD-45C8-86DD-EBE27BCBA323}"
"Version"="1.0"
[HKEY_CLASSES_ROOT\Interface\{BFFD9519-ED96-4F73-913E-CA7F685936F5}]
@="ICAOControl"
[HKEY_CLASSES_ROOT\Interface\{BFFD9519-ED96-4F73-913E-CA7F685936F5}\ProxyStubClsid]
@="{00020424-0000-0000-C000-000000000046}"
[HKEY_CLASSES_ROOT\Interface\{BFFD9519-ED96-4F73-913E-CA7F685936F5}\ProxyStubClsid32]
@="{00020424-0000-0000-C000-000000000046}"
[HKEY_CLASSES_ROOT\Interface\{BFFD9519-ED96-4F73-913E-CA7F685936F5}\TypeLib]
@="{8B54D13D-7FDD-45C8-86DD-EBE27BCBA323}"
"Version"="1.0"
[HKEY_CLASSES_ROOT\TypeLib]
[HKEY_CLASSES_ROOT\TypeLib\{8B54D13D-7FDD-45C8-86DD-EBE27BCBA323}]
[HKEY_CLASSES_ROOT\TypeLib\{8B54D13D-7FDD-45C8-86DD-EBE27BCBA323}\1.0]
@="CAO 1.0 Type Library"
[HKEY_CLASSES_ROOT\TypeLib\{8B54D13D-7FDD-45C8-86DD-EBE27BCBA323}\1.0\0]
[HKEY_CLASSES_ROOT\TypeLib\{8B54D13D-7FDD-45C8-86DD-EBE27BCBA323}\1.0\0\win32]
@="C:\\Program Files\\Citrix\\Application\\EndpointAnalysis\\npCtxCAOHF425.dll"
[HKEY_CLASSES_ROOT\TypeLib\{8B54D13D-7FDD-45C8-86DD-EBE27BCBA323}\1.0\FLAGS]
@="0"
[HKEY_CLASSES_ROOT\TypeLib\{8B54D13D-7FDD-45C8-86DD-EBE27BCBA323}\1.0\HELPDIR]
@="C:\\Program Files\\Citrix\\Application\\EndpointAnalysis\\"


If this is the correct version of the DLL, then just cut and paste the above into a .REG file and import it into the component containing the DLL (via a transform, of course!)

If this isn't the correct version of the DLL you need to install the MSI on a clean machine then, while logged on as an administrator and snapshot the following command

regsvr32 npCtxCAO.dll

Note : the DLL name may vary depending on the version of the EndPoint Analysis Client package (as I found).

(A snapshot tool that can generate .REG files is preferable for this kind of work).

Once you have obtained a snapshot, and .REG file, import it into a transform as outlined above.

If you find it is necessary for the DLL to be registered in HKEY_CURRENT_USER, then you could amend the .REG file to replace all occurrences of "HKEY_CLASSES_ROOT\" with "HKEY_CURRENT_USER\Software\Classes\". You would then need to use ActiveSetup to propagate the settings to each user of the target machine.

Perhaps one of the AppDeploy administrators could move this thread to a new base note ? ....

Regards,

Spartacus
Posted by: brnn8r 15 years ago
Yellow Belt
0
Hey Spartacus,

Thanks for the reply! and sorry about putting this in the wrong place, no issue with moving this somewhere else.

I downloaded the lastest version as well so we are looking at the same package here.

The DLL is registerd via the SelfReg table (EVIL). Origionally I tried using a tool called WiseComCapture (although I'm sure RegSpy2 would work as well) to capture the reg settings and transformed these registry settings into the related advertising and reg tables for a per-machine install. I then removed the entry from the self-reg table in the transform. This didn't appear to work and could have been todo with the user's permissions on the HKCR, but then again i'm not entirely sure.

So my next plan before I ran out of time was to do this again but change from HKCR => HKCU\Software\Classes\.
I mean this should be okay to do right??

Cheers
Steve
Posted by: spartacus 15 years ago
Black Belt
0
ORIGINAL: brnn8r
So my next plan before I ran out of time was to do this again but change from HKCR => HKCU\Software\Classes\.
I mean this should be okay to do right??


It's certainly worth a try - but first you could try using RegMon to pick up the cause of failure - it could be due to missing registry entries or (as you suggest) access denied problems. (You would of course need to run RegMon under an administrator account but run the application itself as a non-admin user in order to get meaningful results).

Regards,
Spartacus
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ