ERROR 1720 VBS Custom Actions
Hi Guys/Girls
I have 3 VBscripts that I would like to create a package with.
So far I have tried using installshield to create a "Basic MSI Project" within the MSI I have specified 3 custom actions that will each execute a VB Script, this execution will take place a specific sequence of precedence starting after InstallFinalize. but I have had no joy in my efforts.
All of the VB Scripts have been tested successfully and run through a batch file with no problems at all.
in addition I have tried creating the custom actions with the scripts (Installed with the product, Stored Directly in the CA, Stored in the Binary Table) all with the same result
I have even amended my scripts according to the advice provided in the following thread (http://itninja.com/question/how-do-you-roll-out-new-machines?692).
Full error message: Error 1720. There is a problem with this Windows Installer package. A script required for this install to complete could not be run. Custom action xxxxxx -2146827859
Any Assistance will be highly appreciated and many thanks in advance!
I have 3 VBscripts that I would like to create a package with.
So far I have tried using installshield to create a "Basic MSI Project" within the MSI I have specified 3 custom actions that will each execute a VB Script, this execution will take place a specific sequence of precedence starting after InstallFinalize. but I have had no joy in my efforts.
All of the VB Scripts have been tested successfully and run through a batch file with no problems at all.
in addition I have tried creating the custom actions with the scripts (Installed with the product, Stored Directly in the CA, Stored in the Binary Table) all with the same result
I have even amended my scripts according to the advice provided in the following thread (http://itninja.com/question/how-do-you-roll-out-new-machines?692).
Full error message: Error 1720. There is a problem with this Windows Installer package. A script required for this install to complete could not be run. Custom action xxxxxx -2146827859
Any Assistance will be highly appreciated and many thanks in advance!
0 Comments
[ + ] Show comments
Answers (5)
Please log in to answer
Posted by:
anonymous_9363
13 years ago
First, I'm trying to imagine what it is you're doing in a VBS that couldn't be done natively in an MSI
Second, I'd place a substantial wager that your script is trying to create objects like this:
If it's not that, it's probably due to your CA calling the script without a full path specified. You should ALWAYS include paths for CAs since you cannot guarantee what the working directory will be. Thus, not "CSCRIPT WHATEVER.VBS" but "CSCRIPT [path_to_whatever.VBS]WHATEVER.VBS"
Second, I'd place a substantial wager that your script is trying to create objects like this:
Set whatever = WScript.CreateObject("Whizz.Bang")
Remove the prefix 'WScript.' (note the included full-stop/period). Search AppDeploy for "wscript directive" - it's yet another topic which has been done to death.If it's not that, it's probably due to your CA calling the script without a full path specified. You should ALWAYS include paths for CAs since you cannot guarantee what the working directory will be. Thus, not "CSCRIPT WHATEVER.VBS" but "CSCRIPT [path_to_whatever.VBS]WHATEVER.VBS"
Posted by:
haffdog
13 years ago
Hi There
Thanks for the prompt response,
Okay so in order:
My script runs a command that synchronises a folder and its contents from a unc path with a folder on a client machine and if the folder on the local machine does not exist then the script creates it and copies the contents from the server to the local machine. (This cant be done through the package as the files in the directory are updated everyweek and a sych is built into the shortcut to keep both folders up to date) the other script applies permissions to the folder (Grants all users modify access).
I have already tried removing the prefix 'WScript.' (am i supposed to replace this with something else?)
if the script is in the binary table what path are you talking about?
Thanks for the prompt response,
Okay so in order:
My script runs a command that synchronises a folder and its contents from a unc path with a folder on a client machine and if the folder on the local machine does not exist then the script creates it and copies the contents from the server to the local machine. (This cant be done through the package as the files in the directory are updated everyweek and a sych is built into the shortcut to keep both folders up to date) the other script applies permissions to the folder (Grants all users modify access).
I have already tried removing the prefix 'WScript.' (am i supposed to replace this with something else?)
if the script is in the binary table what path are you talking about?
Posted by:
anonymous_9363
13 years ago
>My script runs a command that synchronises a folder
That told me, didn't it? :-) Fair enough
>I have already tried removing the prefix 'WScript.' (am i supposed to replace this with something else?)
None of my scripts EVER uses any of the prefixes.
>if the script is in the binary table what path are you talking about?
Not required, then. It would be if you were calling it externally.
Now, whilst typing this lot out a light bulb went off.
- Convert your decimal error (-2146827859 ) to hex ==> FFFFFFFF800A01AD
- Remove the leading Fs ==> 800A01AD
- Look up that error ==> "ActiveX component cannot create object"
Bingo! Somewhere in your script you're trying to create an object which, in the context of Windows Installer, is failing. I'd go back to an embedded version and step through the package in your authoring tool's debugger. That way, you should see the code executing and be able to identify what's wrong. (BTW, I thoroughly recommend installing the Microsoft Script Editor for use as a script debugger over the normal Windows Script Debugger).
That told me, didn't it? :-) Fair enough
>I have already tried removing the prefix 'WScript.' (am i supposed to replace this with something else?)
None of my scripts EVER uses any of the prefixes.
>if the script is in the binary table what path are you talking about?
Not required, then. It would be if you were calling it externally.
Now, whilst typing this lot out a light bulb went off.
- Convert your decimal error (-2146827859 ) to hex ==> FFFFFFFF800A01AD
- Remove the leading Fs ==> 800A01AD
- Look up that error ==> "ActiveX component cannot create object"
Bingo! Somewhere in your script you're trying to create an object which, in the context of Windows Installer, is failing. I'd go back to an embedded version and step through the package in your authoring tool's debugger. That way, you should see the code executing and be able to identify what's wrong. (BTW, I thoroughly recommend installing the Microsoft Script Editor for use as a script debugger over the normal Windows Script Debugger).
Posted by:
haffdog
13 years ago
Posted by:
jmcfadyen
13 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.