public PackageInstallation(IPackagingService packagingService, IMacroService macroService,
                                   IFileService fileService, IPackageExtraction packageExtraction, string fullPathToRoot)
        {
            if (packageExtraction != null)
            {
                _packageExtraction = packageExtraction;
            }
            else
            {
                throw new ArgumentNullException("packageExtraction");
            }

            if (macroService != null)
            {
                _macroService = macroService;
            }
            else
            {
                throw new ArgumentNullException("macroService");
            }

            if (fileService != null)
            {
                _fileService = fileService;
            }
            else
            {
                throw new ArgumentNullException("fileService");
            }

            if (packagingService != null)
            {
                _packagingService = packagingService;
            }
            else
            {
                throw new ArgumentNullException("packagingService");
            }

            _fullPathToRoot = fullPathToRoot;
        }
 public PackageInstallation(IPackagingService packagingService, IMacroService macroService,
                            IFileService fileService, IPackageExtraction packageExtraction)
     : this(packagingService, macroService, fileService, packageExtraction, IOHelper.GetRootDirectorySafe())
 {
 }
 public PackageInstallation(IPackagingService packagingService, IMacroService macroService,
                            IFileService fileService, IPackageExtraction packageExtraction)
     : this(packagingService, macroService, fileService, packageExtraction, GlobalSettings.FullpathToRoot)
 {
 }