Visual Studio セットアップ プロジェクトを通じて Web アプリケーション セットアップを作成しようとしています。アプリケーションに必要なデータベースも、カスタム アクションとしてセットアップ内にインストールされます。ユーザーは、データベースに接続するためのユーザー名とパスワードを提供していません。セットアップ カスタム アクションは、Windows 認証を介してデータベースに接続する必要があります。しかし、データベースに接続しようとすると、例外がスローされます - データベースに接続できません。注: Web セットアップは昇格されたアクセスでインストールされています。Web セットアップの「カスタム アクション」から Windows 認証を介してデータベースに接続するソリューションを提供してください。
2 に答える
この問題は、VS Everyone インストールのカスタム アクションが、インストール ユーザーのアカウントではなく、システム アカウントで実行される可能性が最も高いです。DBは、SYSTEMがDBに対して何かをすることを許可していないに違いありません。
システムとして実行されるのは、昇格するために必要なためです。CustomAction テーブルのドキュメントを見ると、次のようになります。
http://msdn.microsoft.com/en-us/library/aa368069(v=vs.85).aspx
VS は、msidbCustomActionTypeNoImpersonate ビットが設定されたものを生成します。他のツールでは、(インストール ユーザーの) なりすましが必要かどうかを指定できますが、VS では指定できないため、適切なカスタム アクションを特定した後、Orca などの MSI エディターを使用して CustomAction テーブルを編集する必要があります。ただし、昇格はしません。長期的に、その程度の制御が必要な場合は、セットアップに対して別のセットアップ構築ツールを探す必要があります。
信頼できる認証を使用したい。この接続文字列により、SQL Server へのサイレント ログインが可能になります。
Provider=SQLNCLI10;Server=[ServerName OR ServerName\InstanceName];
Database=myDataBase;Trusted_Connection=yes;