void InstallPackage()
        {
            IPackageManagementProject2 project = GetProject();

            using (project.SourceRepository.StartInstallOperation(Id)) {
                InstallPackageAction2 action = CreateInstallPackageTask(project);
                ExecuteWithScriptRunner(project, () => {
                    action.Execute();
                });
            }
        }
        InstallPackageAction2 CreateInstallPackageTask(IPackageManagementProject2 project)
        {
            InstallPackageAction2 action = project.CreateInstallPackageAction();

            action.PackageId               = Id;
            action.PackageVersion          = Version;
            action.IgnoreDependencies      = IgnoreDependencies.IsPresent;
            action.AllowPrereleaseVersions = IncludePrerelease.IsPresent;
            if (DependencyVersion.HasValue)
            {
                action.DependencyVersion = DependencyVersion.Value;
            }
            return(action);
        }