Are you running Jenkins as a service? If so, you probably need to setup a
"home" directory, try creating the following directories (or the equivalent
for your version of windows)

C:\Windows\system32\config\systemprofile\desktop
C:\Windows\SysWow64\config\systemprofile\desktop

I successfully run Excel from Jenkins all the time, so it's not a bug in
Jenkins, but something in your setup.

slide


On Tue, Jan 7, 2014 at 4:34 AM, David Koch <[email protected]> wrote:

> Hello,
>
>
>
> I'd like to open an account to register a bug in Jenkins.
>
>
> Jenkins version 1.544
>
> tl;dr :
>
> OK : Real machine -> DOS Batch -> Perl -> OLE Excel
> NOK : Real machine -> Jenkins slave node -> DOS Batch -> Perl -> OLE Excel
>
>
>
> Note :
>
>
>
> The Jenkins server is located on a virtual machine with no Excel.
>
> The Jenkins slave is located on a real machine with Excel installed.
>
> The Jenkins' job is specified to run locally on the real machine.
>
>
>
> Description :
>
>
>
> I've created a make engine in DOS batch file that use TXT configuration
> files.
>
> This engine execute a Perl script from a TXT configuration file.
>
> The Perl script open a generated CSV file and parse it.
>
> The Perl script open an OLE object on Excel.
>
> The Perl script open a XLSM file through the OLE object.
>
> The Perl script feed the XLSM with the parsed data.
>
> The Perl script save the XLSM and close Excel.
>
>
>
> I call the make engine from a configuring batch file.
>
> I say it works when the execution of Perl, the script, opening Excel,
> feeding data, saving and closing happens.
>
>
>
> When I call the batch file directly or from another batch, it works.
>
> When I call the batch file from a build step in a Jenkins' job, the OLE
> opening in the Perl script fails.
>
>
>
> The problem is that the communication link between the server and the
> slave is only composed of two Java nodes running on both ends.
> The Jenkins' slave node can run a batch, the make engine, the perl script
> (parsing is OK) But the OLE creation fails in Perl when called from the
> make engine called from Jenkins.
>
>
> All paths are verified to be correct.
>
>
>
> Perl script extract :
>
> - - - 8< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>
> # Excel file generator
>
> use OLE;
>
> use Cwd;
>
>
>
> # Opening Excel fails when run through Jenkins
>
> my $excel = CreateObject OLE 'Excel.Application' or die $!;
>
> $excel->{'Visible'} = 1;
>
> $excel->{'ScreenUpdating'} = 0;
>
> # Perl reports a problem here when run through Jenkins
>
> my $worksheet = $workbook->WorkSheets("Symbols");
>
> - - - 8< - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>
>
> The problem is serious.
>
> David
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 
Website: http://earl-of-code.com

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to