private void RegisterInstallerEvents(Mock<VsPackageInstallerEvents> installerEvents, VsPackageEventHandler handler)
 {
     installerEvents.Object.PackageInstalled += handler;
     installerEvents.Object.PackageInstalling += handler;
     installerEvents.Object.PackageReferenceAdded += handler;
     installerEvents.Object.PackageReferenceRemoved += handler;
     installerEvents.Object.PackageUninstalled += handler;
     installerEvents.Object.PackageUninstalling += handler;
 }
Ejemplo n.º 2
0
        void InstallPackage(PrigPackageViewModel viewModel, Project project, string packageId, string version, uint progressValue, uint progressMaximum)
        {
            var onInstalling = new VsPackageEventHandler(metadata => viewModel.Statusbar.ReportProgress(string.Format("Installing '{0}'...", metadata.Id), progressValue, progressMaximum));
            var onInstalled = new VsPackageEventHandler(metadata => viewModel.Statusbar.ReportProgress(string.Format("Installed '{0}'.", metadata.Id), progressValue, progressMaximum));
            var onReferenceAdded = new VsPackageEventHandler(metadata => viewModel.Statusbar.ReportProgress(string.Format("Reference Added '{0}'.", metadata.Id), progressValue, progressMaximum));
            try
            {
                InstallerEvents.PackageInstalling += onInstalling;
                InstallerEvents.PackageInstalled += onInstalled;
                InstallerEvents.PackageReferenceAdded += onReferenceAdded;

                var source = default(string);
                var ignoreDependencies = false;
                Installer.InstallPackage(source, project, packageId, version, ignoreDependencies);
            }
            finally
            {
                InstallerEvents.PackageInstalling -= onInstalling;
                InstallerEvents.PackageInstalled -= onInstalled;
                InstallerEvents.PackageReferenceAdded -= onReferenceAdded;
            }
        }