I have a fairly simple control flow with two data flows. The first one reads data from an Excel spreadsheet using a source script component and stores data into a cache transform component. The second data flow uses a source script component to read a text file, then uses a lookup component to verify that the text file contained the correct information. The No match output from the Lookup is written into a flat file destination. If I run the package in Visual Studio, either debugger or execute, everything works. If I try to run the package from the command line using dtexec.exe I get the following error.
Description: The component is missing, not registered, not upgradeable, or missing required interfaces. The contact information for this component is "Cache Transform;Microsoft Corporation; Microsoft SQL Server; (C) Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;1".
Other packages that don't use a Lookup component give a different error.
Description: To run a SSIS package outside of SQL Server Data Tools you must install Enterprise Edition (64-bit) of Integration Services or higher.
I'm using Visual Studio 2015 and SSIS 2016, and the project target server version is SQL Server 2016. I'm running dtexec.exe from C:\Program Files\Microsoft SQL Server\130\DTS\Binn\
. Running dtexec.exe from c:\Program Files (x86)\...\DTS\Binn\
gives the same result.
Try repairing / reinstalling SSIS per your comment:
Integration services are installed but I can't find SQL Server Integration Services on the services list. Something must have gone wrong in the installation.