103

昨日、MSDN でリリースされた Visual Studio 2012 をダウンロードしました。2010 年にあったプロジェクト タイプのいくつかがなくなっているか、異なっていることに気付きました。私にとっての最大の違いは、Windows Installer プロジェクトが削除されたことです。現在、InstallShield LE (限定版) の使用を余儀なくされています。ここでの問題は、大量の Windows サービスを作成していて、InstallShield LE のセットアップ方法がわからないことです。私たち (私の会社) は、プロフェッショナル エディションのライセンスに投資する必要があるようです。

InstallShield LE にサービスをインストールする方法を見つけた人はいますか? Windows インストーラー プロジェクトを使用する場合は、カスタム アクションを設定するだけです。

4

11 に答える 11

161

Visual Studio 2012 および InstallShield LE の場合、次の手順を実行します。

  • InstallShield プロジェクト アシスタントを実行し、サービスのプライマリ出力を [アプリケーション ファイル] セクションに追加します。
  • プロジェクト アシスタントの操作が完了したら、セットアップ プロジェクトのステップ 2 の下にある [ファイル] 項目をダブルクリックします。

ファイルセクション

  • サービスのプライマリ出力を右クリックし、プロパティに移動します。
  • [COM と .NET の設定] タブをクリックし、[インストーラー クラス] チェックボックスにチェックを入れます。 ここに画像の説明を入力
  • [OK] をクリックします。

インストールをビルドして実行すると、Windows サービス スナップインにサービスが表示されます。

これは、サービス プロジェクトに "プロジェクト インストーラー" を追加したことを前提としています (サービス デザイン シートを右クリックし、"インストーラーの追加" をクリックします)。Visual Studio 2012 / InstallShield LE を使用して、Windows 8 でこの動作を確認できます。

于 2012-10-31T16:33:09.343 に答える
24

最近、InstallShieldLEを使用してVS2012をインストールしました。最初は、ビルド後にISEXP -5036内部サーバーエラーが発生し続けました(これは、ISLEプロジェクトをセットアップし、Install Shield Project Assistantを実行した後です)。最終的に、失敗していたDVD-5メディアタイプでMSIを作成しようとしていることがわかりました。何らかの理由で、ソリューションを最初から再作成すると、動作するCD_ROMおよびSingleImageメディアタイプにのみビルドすることがどういうわけか認識されます。

とにかく5036エラーを修正するには、VS 2012の[ビルド]タブ(トップメニュー)をクリックし、構成マネージャーを選択すると、DVD-5構成でISセットアップファイルが選択されていることがわかります。これをCD_ROMに変更し、[閉じる]をクリックします。ビルド/再ビルドすると、IS5036エラーなしで完了します。

ここに画像の説明を入力してください

于 2012-12-20T10:05:35.130 に答える
6

インストーラー クラスのチェックボックスを使用すると、一部のインスタンスで機能する場合がありますが、次のエラーが発生する場合があります。

エラー 1001. 指定されたサービスは既に存在します

この問題を解決する方法に関するこのリンクからの抜粋を次に示します。

エラーの場合: エラー 1001.指定されたサービスは既に存在します

このエラーは、.NET サービスをインストールするコンポーネントが、[.NET インストーラー クラス] が [はい] に設定されて正しく構成されていない場合に発生します。.NET サービスをインストールする方法は、「.NET インストーラー クラス」設定ではなく、Component\Advanced Settings\Services ビューを使用することです。コンポーネント\詳細設定\サービス ビューで定義を行うと、Windows インストーラーの ServiceControl および ServiceInstall テーブルにエントリが作成されます。これらのエントリは、サービスをインストールするために、Windows インストーラの "InstallServices" アクションによって使用されます。

于 2012-12-18T23:06:39.113 に答える
4

これにはあらゆる種類の問題がありました。

次のように。

  1. InstallShield のダウンロードには時間がかかります
  2. 登録プロセスは苦痛です。
  3. 構成オプションは紛らわしく、非常に複雑です。
  4. このスレッドで受け入れられている解決策はハックであり、常に機能するとは限りません。ドキュメントの 1001 を参照してください。基本的に、Windows サービスをインストールするための適切な構成オプションを取得するには、ペイウォールを通過する必要があります。

他の場所で述べたように、私にとっての解決策-InstallShieldを放棄することでした

ここに画像の説明を入力

その点から非常に簡単です。

編集: 更新 - ここから最新バージョンをインストールしますhttps://wix.codeplex.com/releases/view/115492 for vs 2013 / 2015

于 2013-06-19T11:57:29.317 に答える
4

プロジェクトが .NET の場合は、InstallShield LE で ServiceProcessInstaller クラスを使用できます。

InstallShield で動作させるには、InstallShield の「ファイル」ツリーに移動し、ファイルを右クリックする必要があります。次に、[COM と .NET の設定] タブで [インストーラー クラス] のチェックボックスをオンにします。

動作するようになりましたが、Windows 2008R2 などの一部の OS で問題が発生しました。あなたのマイレージは異なる場合があります。

例を次に示します: http://www.codeproject.com/Articles/14353/Creating-a-Basic-Windows-Service-in-C

于 2012-10-28T22:03:29.260 に答える
3

Visual Studio セットアップ プロジェクトは、Visual Studio 拡張機能として VS 2013 に戻ってきました。

https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d

ソリューションとプロジェクトを VS 2013 に更新してください。まだ VS 2010 を使用している場合は、VS 2013 に直接アップグレードすることをお勧めします。

Installsheild LE での私の経験では、非常に風変わりですが、トリックを理解すれば、より使いやすくなります。ただし、限定版は、Microsoft と Flexera がフル機能版を販売するための方法だと思います。つまり、まず Microsoft に Visual Studio に多額のお金を支払い、次にそのパートナー (犯罪を行っている) に Installsheild に多額のお金を支払います。VS 2013 でセットアップ プロジェクトを取り戻さなければならなかったため、うまくいかなかった悪い戦略です。

于 2014-12-10T20:08:56.337 に答える
2

私はこの主題について書いた:

WindowsインストーラーXMLを使用したInstallShieldの拡張-Windowsサービス

基本的に、WiXを使用してマージモジュールを作成してサービスをカプセル化し、それをinstallshieldプロジェクトに追加します。(必ずINSTALLDIRディレクトリに関連付けて、ファイルが期待どおりの場所に配置されるようにしてください)。VMでビルドしてテストします。ケーキ。

于 2012-08-17T01:18:29.647 に答える
2

VS2012 と Installshield LE Spring Edition を使用しています。Wix を使用する必要はありませんでした。

「InstallUtilLib.dll で使用する _isconfig.xml を作成できませんでした」というエラーが発生した場合は、セットアップ プロジェクトと同じ名前のフォルダーをセットアップ プロジェクト フォルダー内に作成してください。

http://community.flexerasoftware.com/showthread.php?165929-Could-not-create-_isconfig-xml-for-use-with-InstallUtilLib-dllのクレジット

于 2013-04-29T08:56:18.717 に答える
2

回答で言及されているように、インストーラーを追加する場所を見つけるのにいくつか問題がありました。だからここにそれが方法です。

Windows サービス プロジェクト内のサービス クラスをダブルクリックします 「To add components to your class, drag them from the Toolbox and use the Properties window to set their properties...」というテキストが表示された空白の画面 リンク以外の場所を右クリックします「インストーラーの追加」を選択

じゃあ

于 2013-06-06T16:25:34.197 に答える
0

これをここに置きたかった;

VS 2015 でこれを行うと、インストール時に 1001 エラーが繰り返し発生しました。

このページの回答では、新しいバージョン (2012 年以降のもの)では、明らかに、インストーラー クラスオプションを明示的にオフのままにし、インストーラー プロジェクトのステップ 3 の [サービス] セクションに Windows サービスを追加する必要があると説明されています。

カスタム Windows サービスのインストール時のエラー 1001

于 2016-09-25T19:20:53.593 に答える
0

後でそのセットアップのアップグレードを作成する予定がある場合、上記のすべての説明は役に立たないことに注意してください。InstallShiled LE は、アップグレード時に実行中のサービスを停止できません。Window Service Installer -> BeforeInstall イベントからも実行できません。

于 2016-09-19T21:17:17.167 に答える