既存のexeをvs2005のセットアッププロジェクトで登録したい

このQ&Aのポイント
  • vs2005のセットアッププロジェクトで既存のexeを登録する方法を教えてください。
  • 現在、vb2.0からvb8.0にアップグレードしており、サーバ側のサービスインストーラで問題が発生しています。どのように対処すればよいでしょうか?
  • vs2005のセットアッププロジェクトでサービスのアンインストールとインストールが可能なのか、16bitおよび32bitのexeに対応しているのか教えてください。
回答を見る
  • ベストアンサー

既存のexeをvs2005のセットアッププロジェクトで登録したい

こんばんは。 自分では今回の状況を抜け出せなく、質問させていただきます。 開発環境:vs2005 実行環境:win2000~vista 作成希望:vs2005のセットアッププロジェクトでサーバのインストール 現在、vb2.0からのアップグレード作業に従事してます。(vb8.0) 1対1のクラサバと考えていただいて結構です。 クライアントpgのアップグレードはイベント、型などは クリアできている状態(実行には問題なし)なのですが、 サーバ側のサービスインストーラにて四苦八苦しております。 サービスに登録したいexeはソースもあるのですが、 vs2005のセットアッププロジェクトでは 対象exeのコピーとレジストリ登録ぐらいしかできそうにありません。 自分の勉強不足でしょうが・・・(こんなんあるよ?をお待ちしてます) 既存のインストーラはapiを使用し、サービスの登録を行っていました。 既存のインストーラと同様の機能(サービスのアン、インストール)を vs2005のセットアッププロジェクトで作成することは可能でしょうか? 現存する16bitのexeをvs2005のセットアッププロジェクトにて 16bitがむりならば32bitならば「出来るよ」等の情報もお願いいたします。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • AlexSuns
  • ベストアンサー率67% (78/115)
回答No.2

>作成希望:vs2005のセットアッププロジェクトでサーバのインストール ↓ 作成希望:vs2005のセットアッププロジェクトでサーバに(Cにて作成したexeを)サービスインストール でイイんですね? すみませんが自分は詳しいことを説明することができません 識者のかたにお任せしますm(_ _)m >既存のインストーラはapiを使用し、サービスの登録を行っていました。 上記のような手順にて、以前セットアップしていたのならば、下記のような手順で可能なのではないでしょうか? ・実行EXEの配置はセットアッププロジェクト ・実行EXEのサービス登録はカスタム動作(カスタムDLL)を使用して行う ですが、VSのセットアッププロジェクトに拘らずに使いやすいインストーラを使用するのがよろしいかと思われます 例えば、InstallSheildなど インストーラに関して詳しい方がおられます Googleにて「とっちゃん MVP」と検索してください(^^;

gab_snow
質問者

お礼

再度のご回答ありがとうございます。 自分でも調べていたんですが、 No1で教えていただいたカスタム動作にexeやdllをセットできるみたいですね。 今回ご提示頂いた手順で可能なようです。 1.インストーラクラスを継承したdllを作成 2.1のプロジェクトをセットアッププロジェクトに追加 3.カスタム動作に1のプライマリ出力をセット とすることでdll内の関数を呼び出せることを確認いたしました。 1のdllでapi呼び出しを実装していけば可能なようです。 >ですが、VSのセットアッププロジェクトに拘らずに使いやすいインストーラを使用するのがよろしいかと思われます そのようですね、apiゴリゴリ使うdllを作成するのならば セットアッププロジェクトを使用するメリットも少なそうなので 他のインストーラについて調べてみようと思います。 >インストーラに関して詳しい方がおられます 今回調べているときに何度も拝見しました。 自分の勉強不足を痛感します・・・ 解かりづらい質問にお付き合いいただき ありがとうございました。

その他の回答 (1)

  • AlexSuns
  • ベストアンサー率67% (78/115)
回答No.1

>作成希望:vs2005のセットアッププロジェクトでサーバのインストール ↓ 作成希望:vs2005のセットアッププロジェクトでサーバにサービスインストール でいいのかな? ・実行EXEの配置はセットアッププロジェクト ・サービスの登録は実行EXE内のインストーラクラス  ※実行EXE配置完了後に「実行EXE内のインストーラクラス」を実行する必要があります サービスの登録に関しては、 .NET Frameworkについてくる「InstallUtil.exe」を使用する方法もありますが、 セットアッププロジェクトを作成しているのであれば、カスタム動作のほうが簡単にできます カスタム動作手順: 1.Windowsサービスアプリケーションにインストーラクラスの配置 2.セットアッププロジェクトにてカスタム動作の追加   「ソリューションエクスプローラ」にてセットアッププロジェクトを右クリック   「表示」→「カスタム動作」にて「カスタム動作」エディタが表示されます 3."インストール"、"アンインストール"にアプリケーションのプライマリ出力を追加 以上でサービスの登録ができるセットアッププロジェクトができます VisualStudio2005についてくるWindowsInstaller(3.0)は前のもの(1.1)より使いづらくなっています Windows2003SDKについてくる「Orca」を使わないと細かい動作ができません DOBON.NET > プログラミング道 > .NET Tips > デプロイメント http://dobon.net/vb/dotnet/deployment/index.html

gab_snow
質問者

お礼

AlexSunsさんご回答ありがとうございます。 そしてすいません。 私の質問の仕方が悪かったです。 ご提示いただいた手順、リンクを確認したところ 「vs.netで作成したサービスアプリケーションのインストーラの作り方」 と認識いたしました。 私が質問したかったのは 既存のC言語で作成されたexeをそのままサービスとしてインストールする インストーラの作成がセットアッププロジェクトにて作成可能か? ということでした。 アップグレードに関する記述は、クライアント側アプリのみのつもりでした。 解りづらく、情報の足りていない記述をしてしまい申し訳ありません。 足りない情報などありましたらご指摘お願いいたします。

関連するQ&A

  • VS2003 セットアッププロジェクトについて

    いつもお世話になっております。 VS2003で作ったアプリをVS2003のセットアッププロジェクトを使用 してインストーラーを作成致しました。 インストーラに以前のバージョンを消すか上書きするような インストーラを作成したいのですが、 現状のものだとファイルは更新されますがWindowsの【アプリケー ションの追加と削除】に古いのがまだ登録されたままになってしま います。 インストール時にこちらの方もうまく更新されるようなインストーラはどのように作ればいいのでしょうか。 よろしくお願いします。

  • VS2005のセットアッププロジェクトにOracleDataAccess.dllを組み込みたいのですが・

    お世話になります。 DB:Oracle10gR2 OS:Windows Vista Buisiness 言語:VB2005 上記の環境にてPL/SQLにて作成したストアドをVB2005よりODP.NETにてコールするプログラムを作成しました。 それを実際のユーザ環境にセットアップすべくセットアッププロジェクトにて、インストーラを作成しましたが「OracleDataAccess.dll」が上手く組み込めず、ユーザ環境でモジュール実行すると、エラーが発生します。 ※エラー内容は詳細忘れましたが「OracleDataAccess.dllが見つかりません・・例外ハンドル・・」 試しにODP.NETをインストールすると上手く実行できました。 「OracleDataAccess.dll」のセットアッププロジェクトへの組み込み方ご存知の方おられましたらご教授いただけませんでしょうか? 以下の手順で実行しました。 ファイル→追加→新しいプロジェクト→ セットアップと配置より、セットアッププロジェクトを選択しOKを押す→ 対象コンピュータ上のファイルシステムで、「アプリケーションフォルダ」にて右クリック→追加→プロジェクト出力→プライマリ出力を選択すると、以下のようになります。 名前 「ソリューション名」のプライマリ出力(種類:出力) Oracle.DataAccess.dll(種類:アセンブリ) 尚、ユーザーのデスクトップ、ユーザーのプログラムメニューには「ソリューション名」のプライマリ出力(種類:出力)のみが存在します。 何か手順が抜けているのでしょうか? 宜しくお願い致します。

  • ディストリビューションウィザードの使用してのsetup.exeの再作成について

    VB初心者ですが、以下の事が可能であるかを教えて下さい。 現在既存の正常に稼動する実行ファイルがあります。 その実行ファイルは、ディストリビューションウィザードの使用して パッケージを作成し、そのsetup.exeを使用しインストールしてあります。 システム(?)の構成としては、メインのexeファイルといくつかのDLLから 構成されています。 このDLLのうちの一つとメインのexeファイルを変更して (正しくいうと、メインのプロジェクトに修正変更をかけexeファイルを作成し直し  サブのプロジェクトに修正変更かけDLLファイルを作成し直す。) 変更した物と変更していない物に関しては既存のパッケージ時のDLLを使用し ディストリビューションウィザードを用いてsetup.exeを再作成しても インストール後は正常に動作する物なのでしょうか? どなたか、ご教授下さい。宜しくお願いいたします。

  • vb.netでsetup.exeの名前を変える

    visual studio 2010のvbでソフトを作成しています。(プロではありません。趣味です。)setupプロジェクトで作成するsetup.exeの名前を変更するにはどうすればよろしいのでしょうか?たとえば、abc_setup.exeのようにです。ちなみに、setup.msiの名前を変更することはできました。御教示いただけるとありがたいです。

  • 自作exeのサービス登録

    Windws2000Serverの機能を用いて、 VBで作成したexeをサービスに登録する事は 可能でしょうか。 やはり、何かしらのツールを使用するより無いのでしょうか。 どなたか解る方がいらっしゃれば教えて下さい。宜しくお願い致します。

  • vb6(sp5)で作成したexeのセットアップ媒体を作成したいのですが

    vb6(sp5)で作成した複数のexeとランタイムをsetup.exeを実行したら vb6の環境がまったくないpcで実行できるようにしたいのですが 何かいい方法を教えてください。

  • VBのexeをサービスへ登録をしたい

    VBのexeをサービスへ登録したいと考えています。 現状Windows2000リソースキットを利用してexeをサービスへ登録したいと思ったのですがうまくいきません。 (エラーメッセージ:ローカルコンピュータのrandomサービスを開始できません エラー1053:そのサービスは指定時間内に開始要求または制御要求に応答しませんでした。) VBで作成したexeをサービスを登録するためにはどのように設定すればよいのでしょうか? ご教授ください! OS:Windows2000+SP2 開発環境:VB 6.0+SP5

  • セットアッププロジェクトでのショートカットアイコン

    VB2008にて作成したツールを配布するためにセットアッププロジェクトを使用して setupファイル等を作成しています。 デスクトップにショートカット、プログラムメニューに追加を行う際 ショートカットのアイコンを変更したいのですが ショートカットのプロパティのIconを変更しても デフォルトのアイコンになってしまうのですが どのようにしたらよいのでしょうか? Program Filesにインストールされたツールの方のexeファイルは 指定したアイコンに変わっています・・・

  • setup.exeが添付できない

    Win98で作ったVB6の配布ファイルの setup.exe・・・等を Outlook2013で添付ファイルとして送ろうとしたら 「・・・問題を起こす可能性のある添付ファイルが含まれている・・・」ということで setup.exeのみ添付されませんでした。 setup.exe・・・等を1つのフォルダにいれて圧縮してxxx.lzhとして添付したら 送信できました。 素人考えですが、 xxx.exeというexe拡張子のファイルは実行ファイルなので ウィルスと勘違いされて送信できないのでしょうか? もし間違っていたら教えてください。

  • vb2022 Deployment project

    visual stdio2022 visual basic deployment project propertiesでインストーラを作成したときに Setup1\Releaseの中に Setup.exeとSetup1.msiができます。 どちらも同じ動きをしますが、Setup.exeは単独では動作できず、Setup1.msiを求めてきます。 Setup1.msiは単独でインストールできます。 この違いは何ですか? 結論的に同じ環境に配布するならSetup1.msiだけで良いという事ですか?

専門家に質問してみよう