簡単な「トリック」が見つからなかったので、このディスカッション ( http://nuget.codeplex.com/discussions/385955 ) に従ってカスタム プロジェクト ウィザードを作成しました。
パッケージ ソースは、PackageSourceProvider を介して見つけることができます。これは、PackageInstaller と共に MEF を介してインポートできます。次に、パッケージ ソースからリポジトリを作成し、それをインストーラーに渡します。
var factory = NuGet.PackageRepositoryFactory.Default;
var packageSources = PackageSourceProvider.LoadPackageSources().Select(s => s.Source).ToList();
var repository = new AggregateRepository(factory, packageSources, true);
NuGetPackageInstaller.InstallPackage(repository, project, package.Id, package.Version, false, false);
InstallPackage を直接呼び出すと、依存パッケージとアセンブリ参照をインストールすることもできますが、これらはどちらも標準の NuGet VSIX パッケージ インストーラーでは無効になっています。
標準の NuGet では、セキュリティ上の理由から依存関係のインストールが許可されていないと推測していますが、私たちの場合、独自の VSIX、テンプレート、および NuGet パッケージを使用しており、いくつかの既知の依存関係が追加されているため、ライセンス チェックテンプレートが実際に使用されるずっと前に作成されています。