0

I am using the 7zip standalone .exe to unzip a file. I am using the Execute Process task for this. I have tested this over and over again on multiple machines and I know it works (at least in debug mode/visual studio). I have uploaded this package the server. I have created a job that calls said package from the Package Store. The package is not able to find the .exe no matter where I put it.

My first thought was to put the .exe on the C:\ drive, which failed. I have also failed in my attempts to place the .exe on a network location that the account the package is running under has full control over.

Basically, has anybody else had issues getting the Execute Process Task to find an executable when the package is uploaded to the server?

The error message is

Can't find 7za.exe in directory C:\7zip

billinkc
  • 59,250
  • 9
  • 102
  • 159
misterManager
  • 1,174
  • 4
  • 12
  • 33

1 Answers1

3

I'll risk a downvote for being wrong, but I believe you have a permission issue.

You say it runs fine on other servers from BIDS, try it without BIDS. Call it from a command-line on a box that it works on.

dtexec.exe /file C:\HereComesTheUnzipper.dtsx

If that works, then repeat the step on the troublesome server. RDC into the box and try again

dtexec.exe /ser localhost /sq HereComesTheUnzipper

If that still works, then you are looking at an issue with the job. What account is the SQL Agent service running as? Is the SSIS job step running as a particular set of credentials? If so, is it a SQL Server login (which wouldn't map to anything on the physical box)? Regardless of what your answer is, the resolution will be to ensure the account has access to

  • 7z.exe
  • whatever scratch area 7zip may use while unpacking files (I assume %temp%)
  • the output folder (C:\bin\7z.exe -e e:\data\MyThing.7z)
billinkc
  • 59,250
  • 9
  • 102
  • 159