2016-04-06 10 views
1

Visual Studio 2015を使用して、InstallShieldを使用してWindowsサービスを「ネットワークサービス」アカウントで実行するインストールパッケージを構成するにはどうすればよいですか?私はこれをVisual Studio 2013でInstallShieldプロジェクトと一緒に使っていましたが、この新しいバージョンではこれを実現できないようです。"ネットワークサービス"として実行する必要があるWindowsサービスのインストーラ

Installshieldプロジェクトの「3 - ターゲットシステム/サービスの設定」画面で「ユーザー名」フィールドと「パスワード」フィールドを空白のままにしておくと、インストールされているサービスが「ローカルシステム」を使用するように構成されます。

サービスをインストールしようとすると、「ネットワークサービス」、「NetworkService」、「NT_AUTHORITY \ Network Service」、「。\ Network Service」または「。\ NetworkService」をユーザー名として入力し、私は次のエラーを取得:この私のタイピングのよう

Error 1923. Service [name] could not be 
installed. Verify that you have sufficient 
privileges to install system services." 

を、私は彼らのエクスプレス版のドキュメントでこれに関連するすべての情報を見つけることができませんでした:

http://helpnet.flexerasoftware.com/isxhelp21/isxhelp21.htm#StartTopic=helplibrary/FAQFilesNTService.htm

http://helpnet.flexerasoftware.com/isxhelp21/isxhelp21.htm#StartTopic=helplibrary/ServiceSettings.htm

このブログ記事は、サービスのインストーラを作成するために、この新しいバージョンの変更について説明します。私のプロジェクトを持っていないので、私の以前のインストーラは、「インストーラクラスを使用する古い方法」を使用している必要があります

http://blogs.flexerasoftware.com/installtalk/2014/10/updated-support-creating-an-installation-that-installs-windows-services-.html

実行するユーザーとしてNetworksServiceを指定するインストーラークラス。 (この一般的に推奨されない方法について議論している記事へのリンクは壊れています)

私が知る限り、新しいExpress Editionはインストーラクラスを無視しているようですが、 「脆弱で、一般的には推奨されていない」という古い方法に戻ること。

+0

これは以前のシステムと同じシステムにインストールされていますか?ローカルシステムを使用しても同じエラーが発生しますか? –

+0

これは、以前使用していたのと同じサーバーにインストールされています。 「ネットワークサービス」として実行する必要があります。サービスが別のサーバー上のデータベースに接続する必要があるためです。 –

+0

...私はおそらく何か明白なものを欠いているでしょう。私は以前のバージョンでインストーラをセットアップしなかった。 –

答えて

0

が、私はこれが私のサービスは、単一のサーバーに展開されているので、Visual Studioの2015年

中のInstallShield LE(Express Editionの)で起こるようにする方法上の任意の情報を見つけていない、私のニーズはありません過度に複雑です。ここでは、https://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspxの「サービスへのインストーラーの追加」の説明に従って、Windowsサービスプロジェクトにプロジェクトインストーラークラスを追加しました。これにより、ServiceProcessInstallerのプロパティとして「ネットワークサービス」ユーザーを選択できます。 「サービスのインストール」セクションで説明したように

、私が使ってインストールスクリプトだ:

%WINDIR%\Microsoft.NET\Framework64\[framework_version]\installutil.exe MyService.exe 

アンインストールして行うことができます。

%WINDIR%\Microsoft.NET\Framework64\[framework_version]\installutil.exe /u MyService.exe 

これらのコマンドとして実行する必要があります管理者またはエラーが発生します。

0

私はInstallShield Premierでそれを行う方法を知っています。

まず、そのようなプロパティマネージャーでプロパティを定義します。

SGNETSER NT AUTHORITY\NETWORK SERVICE 

enter image description here

その後、サービスで、新しいサービスを作成し、ユーザー名で、まさにこれを入力してください:

[SGNETSER] 

enter image description here

これは私のために働いた!

関連する問題