質問: C:\ Users \ myusername \ Documents \ Visual Studio > 2010 \ Projects \ TestServ ice \ TestService \ obj \ x86 \ Debug \ TestService.exe > > > > RunInstallerAttribute.Yes属性を持つパブリックインストーラはありません > C:\ Users \ myusername \ Documents \ Visual Studioにあります。 > 2010 \ Projects \ TestService \ TestSe rvice \ obj \ x86 \ Debug \ TestService.exe > アセンブリ。 > > > > インストーラがないため、InstallStateファイルを削除します。 > > > > コミットフェーズが正常に完了しました。 > > > > トランザクションインストールが完了しました。 > > **ステップ5の出力** サービス名が無効です。 NET HELPMSG 2185を入力すると、より多くのヘルプが利用できます。
回答: もう一つの可能な問題(私が遭遇した): `ProjectInstaller` クラスが `public` であることを確認してください。正直言って、どのように正確に行ったのかよく分かりませんが、次のように `ProjectInstaller.Designer.cs` にイベントハンドラを追加しました: `this.serviceProcessInstaller1.BeforeInstall + =新しいSystem.Configuration.Install.InstallEventHandler(this.serviceProcessInstaller1_BeforeInstall);` 私は、 `ProjectInstaller.cs` にハンドラ関数を作成するという自動化プロセスの間に、クラス定義を `public class ProjectInstaller:System.Configuration.Install.Installer` に `partialクラスProjectInstaller:System.Configuration.Install.Installer` **replacing** the `public` keyword with `partial`. So, in order に fix it it must be `public partial class ProjectInstaller:System.Configuration.Install.Installer` 私はVisual Studio 2013 Community Editionを使用しています。