2011-07-11 14 views
1

Visual Studio 2010を使用してWindowsサービスと関連するインストーラを作成しました。これはすべて正常に動作し、インストーラによってサービスが作成され、ローカルシステムへの資格情報 - プロジェクトのServiceInstallerコード内で指定されています。Visual Studio 2010:Windowsサービスインストーラ - サービスの資格情報を特定する方法

ただし、ローカルシステムではアプリケーションのニーズには不十分です。私は、ユーザーがインストーラ内でサービスに使用する適切な資格情報を指定できるようにする必要があります。私は値を受け取り、使用するインストール後のスクリプトのためにレジストリに格納するカスタムUI画面を持っていないし、インストーラ内の詳細をハードコードしたくない(これは多くの場合に使用されるためサービスに使用される異なるアカウントとドメインを持つサイト)。

誰でもこれを行う方法に関する提案はできますか?私はそれがカスタムアクションDLLまたは同様のものを必要とするだろうと推測しています。

+0

カスタムダイアログを表示したくない場合は、ユーザーはどのようにサービスの資格情報を指定しますか?何か覚えていますか? –

+0

私はカスタムダイアログをレジストリまたは後で使用するためのテキストファイルに保存したくないということを意味しました。私はインストール時に資格情報を設定するカスタムダイアログを気にしません。 –

答えて

0

まず、サービスの資格情報を取得するカスタムダイアログを追加する必要があります。おそらく、このチュートリアルは役に立ちます:http://www.codeproject.com/KB/install/vsSetupCustomDialogs.aspx

サービス編集ボックスに関連付けられたインストーラプロパティは、サービスに使用できます。インストーラークラスのアクションは、インストーラーのプロパティに直接アクセスすることはできません。したがって、別のカスタムアクションを使用する必要があります。たとえば、サービスの資格情報を設定するカスタムコマンドラインを使用してsc.exeを起動できます。

最後に、サービスとしてログオンポリシーが指定されたユーザーアカウントに対して設定されていることを確認する必要があります。おそらく、これは役に立ちます: WIX: Windows Service Repair failing on lack of permissions + how to detecting repair mode?

0

ユーザー名とパスワードはnullに設定してください。 入力用ダイアログを表示します。

関連する問題