12

Wix を使用して Windows サービスをインストールしています。サービスは、ユーザーが設定したシステム/サービス以外のアカウントで実行する必要があります。

サービス ログイン用のユーザー名/パスワードの入力を求めることは可能ですか?

4

4 に答える 4

8

GitHubのCommunity MSI Extensionsには、ユーザー名とパスワードを要求するための ServiceCredDlg ダイアログが含まれています。docsによると、資格情報が有効であり、そのユーザーが「サービスとしてログオン」権限を持っていることをテストできます。

于 2013-06-04T03:44:26.920 に答える
5

はい。ただし、組み込みではありません。WiX で GUI をセットアップできます (これはあまり直感的ではありません)。ここで、後のステップで必要になる設定を求めることができます。

まず、これらのガイドラインに従ってカスタム プロパティを設定する GUI を作成する方法を確認し、GUI がプロパティ SERVICEACCOUNT および SERVICEPASSWORD を確実に入力するようにします。次に、ここに示すように、これらのプロパティで ServiceInstall 要素を使用します。

于 2011-03-20T02:35:29.307 に答える
4

WiX には、あなたが探しているものに対してすぐに使える優れた機能がありません (または少なくともありませんでした)。私が知っている最良の選択肢は、自分でロールすることです。

https://www.geekproject.com/post/wix-service-account-dialog/

于 2011-03-20T02:32:01.333 に答える
0

コマンド ラインで資格情報を使用して PUBLIC PROPERTIES (大文字) を設定し、これらを使用してサービスをインストールできます。

msiexec.exe /I "setup.msi" /QN USER="ユーザー名" PASS="パスワード"

カスタム アクションを使用して、対話型インストール中にユーザーからこれらの値を取得することもできますが、これを行う場合は、メッセージの表示が setups UILevel 値に従うことを忘れないでください。サイレント インストールでのカスタム アクションからのメッセージ ボックスの表示は、重大なセットアップ エラーと見なされます。

  • INSTALLUILEVEL_NONE 2 完全なサイレント インストール。
  • INSTALLUILEVEL_BASIC 3 シンプルな進行状況とエラー処理。
  • INSTALLUILEVEL_REDUCED 4 作成された UI、ウィザード ダイアログは抑制されています。
  • INSTALLUILEVEL_FULL 5 ウィザード、進行状況、エラーを含む作成された UI。

おそらく最良のオプションは、対話型インストールでダイアログを表示し、これらのプロパティがコマンド ラインで設定されていない場合はサイレント インストールを拒否することです。これは、USER および PASS プロパティの値をテストする単純なカスタム アクションです。

また、ユーザー アカウントを使用してサービスを実行することはお勧めできません。

于 2014-02-18T18:57:37.177 に答える