I've 2 WiseScipt custom actions to include in a MSI wrapper.
The first CA installs the application in silent mode. (Calling vendor EXE with silent switch).
The second CA deletes few unnecessary files that the First CA installs.
All works great when the above WiscScripts are executed manually one after the other.
But, when I include these 2 CA in a MSI wrapper, the 2nd CA doesn't remove the files that it should.
Both the CA are set in deffered mode. No error message pops up.
How can I ensure that the unnecessary install files are removed ? Thanks for your help.
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Community Chosen Answer

1
Sandy,

You could try putting the second CA in immediate context after InstallFinalize.
Personallly not a big fan of WiseScript, I prefer a nice VBS, but that's up to you in the end [:)]

Rgds,

PJ
Answered 01/18/2011 by: pjgeutjens
Red Belt

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
Thanks for the tip, but it didn't work.
Need to look for another option.
Answered 01/18/2011 by: WiseAppPackager
Purple Belt

Please log in to comment
1
your .wse script should work. its all about where you sequence your ca.

if you are using deferred - system context . then why not sequence the second CA just before installfinalize with a condition Not Installed
Answered 01/18/2011 by: cygan
Fifth Degree Brown Belt

Please log in to comment
1
This is still not resolved.
When the first CA is run, it takes too much time to install the application. The process runs in background for several minutes.
But, the 2nd CA doesn't wait till that time, whereas it should.
How can I make sure to install the 2nd CA only after the 1st CA has completed its execution?
Can 'return code' be used?
Answered 01/20/2011 by: WiseAppPackager
Purple Belt

Please log in to comment
1
you can include a login in ur 2nd wisescript to check the process wisescript1.exe.. if it is running make it pause for lets say 30seconds.... else execute the task which you actually want to perform.
Answered 01/21/2011 by: mekaywe
Brown Belt

Please log in to comment
0
Yes, thanks.
I had thought of doing this before, but wouldn't it create problems when the package gets mass-deployed onto thousands of machines. Deciding on 30 Secs or more.....wouldn't be always reliable considering network speed.
But, Yes....if nothing else works I'll have to do this.
Answered 01/21/2011 by: WiseAppPackager
Purple Belt

Please log in to comment
1
Do you have your 1st CA set to wait until the called process completes? Or perhaps the called process itself shells out to yet another process, meaning that the calling process has indeed "completed"?

Are you beginning to see why shelling out to vendor installs is a poor alternative to capturing and creating a proper MSI?
Answered 01/21/2011 by: VBScab
Red Belt

Please log in to comment
1
Yes, that is the exact issue. As the 1st CA calls out another process, over which I don't have any control.
VBScab - You are correct. I've learned my lesson, relying on vendor installs is obviously not a good option.
But for some setups, can’t get help either way - capture or wrapper. It's always a PAIN :)
Thanks for your help.
Answered 01/23/2011 by: WiseAppPackager
Purple Belt

Please log in to comment
0
Click on 'Wait for Program to Exit' in your first CA...That should work...
Answered 01/24/2011 by: Repackman
Purple Belt

Please log in to comment
0
Zak, we've already established that the first process extracts a second EXE and shells it, meaning that the first completes before the actual install is done.
Answered 01/25/2011 by: VBScab
Red Belt

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