vb.net自作ソフトのバージョンについて

このQ&Aのポイント
  • visual studio 2010を使用しています。ソフトを作成しました。フォームの右上ヘルプ→バージョン情報でバージョンを表示したいのです。
  • バージョン情報を取得するためには、setupプロジェクトのプロパティのversionとアプリケーションのアセンブリ情報にあるアセンブリバージョンのどちらを使用するべきか疑問があります。
  • また、setupプロジェクトのプロパティのversionには1.0.0を入力していますが、作成したsetup.exeのバージョン情報は10.0.30319.1と表示されており、その取得元もわかりません。
回答を見る
  • ベストアンサー

vb.net自作ソフトのバージョンについて

の質問です。visual studio 2010を使用しています。ソフトを作成しました。フォームの右上ヘルプ→バージョン情報でバージョンを表示したいのです。以下2つ質問があります。 (1)このバージョンは、setupプロジェクトのプロパティのversionを取得した方がよいのでしょうか?それとも、アプリケーションのアセンブリ情報にあるアセンブリバージョンを取得した方がよいのでしょうか? (2)現在setupプロジェクトのプロパティのversionには、1.0.0を入力してありますが、作成したsetup.exeにマウスカーソルをかざすと、10.0.30319.1と薄く表示されます。この情報はどこから取得しているのでしょうか?(添付画像をご覧ください。) 御教示いただけると幸いです。

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

  • ベストアンサー
回答No.1

(1)について 利用するならば,アセンブリバージョンでしょう。 というよりも,setupプロジェクトの情報を取得するのは大変だと思います。 msi*系のWindows Installer APIを駆使すれば不可能ではないとは思いますが。 あと,アセンブリバージョンを単純に取得して表示すると,major.minor.build.revisionの形式になります。 必要な形式が何なのかによって,自前で整形する必要があるかもしれません。 (2) setupプロジェクトのバージョンは,Windows Installer Databaseである.msiに書き込まれます。 setup.exeは,基本的にシステムが生成する物なので,システムが用意したバージョンリソースにそのバージョンが書き込まれているのでしょう。 バージョンリソースを書き換えればバージョン情報を書き換えられますが,そこまでする必要は通常ないと思います。

関連するQ&A

  • Product Codeの変更法は?

    Visual Studioを使用してSetup Projectを作りました その.msiファイルを使ってインストールすると『別のバージョンの製品が既にインストールされています ・・・・・・』とのエラーが表示されます 今回作ったソリューシュンは、実は以前に作成した別のソリューションを流用して作ったものです だからProduct Codeが重なってしまっているのでしょう【私の推測】 Product Codeを変更すれば問題解決するだろうと思い、Setup Projectのプロパティを表示してみましたが、それらしい項目が見当たりません そこで質問です Visual Studioで作成したSetup ProjectのProduct Codeを変更する操作は何の様にすれば良いのでしょうか? アチコチ検索しましたが全く分かりません 宜しくご指導お願い申し上げます

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

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

  • ストアド バージョンの確認方法について

    SQL Server 2005 Express Editionについて教えてください。 ストアドの登録していますが、そのバージョン情報をOSQLなどから、確認したいと思っております。 確認方法を教えていただけますでしょうか。 取得したい情報は、Manegment Studioにて、ログイン後、[データベース]-[DB][プログラミング]-[アセンブリ]にある物を右クリックすると表示される[アセンブリのプロパティ]画面の、その他のバージョン情報です。 ちなみに、SELECT * FROM sys.assembliesを実行するとclr_nameにはversion=0.0.0.0が表示されます。 ここでは、管理していないのでしょうか。

  • vb.netのソフトを開発でレジストリ?

    現在vb.net (visual studio 2010)でソフト(素人です。)を作成しています。ようやくインストーラまでたどりつきました。そこで質問です。よくベクターなどでソフトをダウンロードしたときに、 「アンインストールは,そのまま削除するのみです.レジストリ等は,一切変更していません.」 という断り書きを見ます。 質問1.vb.netで作成したソフトをインストール(インストーラはsetupプロジェクトで作成)した場合、レジストリは変更されているのでしょうか? (レジストリを変更するようなプログラムは自分ではしていません。) 質問2.もしレジストリが変更されていないなら、アンインストールはコントロールパネルのプログラムのアンインストールから行わないで、インストールされたファイルを手動で削除してもよろしいのでしょうか? 御教示いただけると幸いです。

  • FindFirstFileについて教えてください。

    Visual Studio C++ 2010 Expressを利用して、C言語のプログラムを作成しています。 その中でFindFirstFileを使っています。 Visual Studio上でWin32コンソールアプリのプロジェクトを作成して、このプログラムをコンパイルしました。 プロジェクトのプロパティは変更していません。 コンパイルしたものを実行すると戻り値としてINVALID_HANDLE_VALUEが返ってきて、ファイルのリストを取得できませんでした。 一方で、コマンドプロンプト上でMakefileを作成し、同じソースをコンパイルした場合は、ファイルのリストを正常に取得することが出来ます。 従いまして、おそらくプログラムは問題ないと思います。 Visual Studioのプロジェクトで、何かプロパティの設定が必要でしょうか? 実行環境は、Windows7 64-bitです。 何かご存知の方いらっしゃいましたら、教えて頂けますか?

  • c++をnetで使いたい

    studio.netで 新規作成→プロジェクトで visual basicプロジェクトがあるのですが、 visual c++がありません。 インストールは正常に行われていたのですが… なにかc++を使うには設定をしなければならないのでしょうか?

  • VB2010で作成したソフトのexeファイルが実行できません。

    VB2010で作成したソフトのexeファイルが実行できません。 以前、Windows XP上のVisual basic 6.0で作成したソフトを一部直すために、Windows7上のVisual basic 2010でそのままの形で書き直しました。しかし、以下の4つの警告文が出るためか、exeファイルを実行できません。その警告文は以下の通りですが、内容が理解できません。 1)アセンブリ 'AxInterop.Microsoft.Vbe.Interop.Forms' からの間接的な参照が原因で、埋め込まれた相互運用機能アセンブリ 'stdole' に対して参照が作成されました。両方のアセンブリで '相互運用機能型の埋め込み' プロパティを変更することを検討してください。 2)アセンブリ 'Interop.MSComDlg' からの間接的な参照が原因で、埋め込まれた相互運用機能アセンブリ 'stdole' に対して参照が作成されました。両方のアセンブリで '相互運用機能型の埋め込み' プロパティを変更することを検討してください。 3)アセンブリ 'Microsoft.Vbe.Interop.Forms' からの間接的な参照が原因で、埋め込まれた相互運用機能アセンブリ 'stdole' に対して参照が作成されました。両方のアセンブリで '相互運用機能型の埋め込み' プロパティを変更することを検討してください。 4)アセンブリ 'Microsoft.VisualBasic.Compatibility' からの間接的な参照が原因で、埋め込まれた相互運用機能アセンブリ 'stdole' に対して参照が作成されました。両方のアセンブリで '相互運用機能型の埋め込み' プロパティを変更することを検討してください。 以上、宜しくお願いします。

  • VB.NETで参照設定

    Visual Basic .NET について質問致します。 VB 6.0は使用していたのですが、.NETに関して初心者です。 VSSにてファイル管理をしています。 共通で使用するためののオリジナルDLLを作成し 参照設定をしているのですが、参照パスがフルパスで設定されているため (プロジェクトのプロパティページの「参照パス」のフォルダのところ) VSSから最新プロジェクトファイルを取得した後 いつも参照パスを自分のローカルのパスに変更しなおさなければいけません。 とても効率が悪く、もっといい方法があるかと思うのですが、 教えていただきますようお願い致します。

  • VBのプログラムを配布したら・・・

     Visual Studio 2008(VB)でアプリケーションを作成後、セットアッププロジェクトで配布用のプログラム(Setup.exe)を作成し、別の環境のPCにセットアップを行ったところ、大部分はうまく動作したのですが、印刷の分だけがエラーを出して終了してしまいます。  セットアッププロジェクトの作成手順は以下のようにしていますが、何かおかしいのでしょうか? (1) [ファイル]-[新しいプロジェクト]-[セットアッププロジェクト作成] (2) [アプリケーションフォルダー]-[追加]-[プロジェクト出力]-[プライマリ出力]を選択 (3) (2)のショートカットを作成し、ユーザーのデスクトップ及びユーザーのプログラムメニューの下に    作成したフォルダーに移動 (4) ソリューションエクスプローラに出来た[Setup](私の場合)をビルド 因みに帳票類は、CrystalReportsで作成し、PDF出力するように作成しています。 プログラムを作成したPCにインストールした場合のみ問題なく動作していますが、同じプリンター を共有するPCにインストールした場合でも印刷が出来ないためドライバーの問題でもないような 気がします。 どなたかお知恵をお借り出来ませんでしょうか?

  • VB6.0からVB.NETへの移行について

    現在、VB6.0で作られているシステムをVB.NETへ移行しようとしています。 そこでAcvtiveX EXEのGlobalMutiUseで作成されている画面を持つプロジェクトを移行する方法に困っています。 現状は、上記の画面が最初に起動されたら常駐して、定期的にサーバから情報を取得して内容を更新して、他の別プロジェクトの画面からその情報を取得して動いているような仕組みとなっています。 それを移行ガイドの通りクラスライブラリで作成して、他の別プロジェクトの画面から情報を取得しにいこうとすると新たに別のインスタンスが作成されて、それを見にいってしまうため情報が取得できません。 VB6.0のAcvtiveX EXEのGlobalMutiUseのように共有のインスタンスを他から見れるようにするにはどうしたらよいでしょうか?なるべく変更を少なくしたいと思っています。 よい解決策をご存知の方がおられましたら是非御教授をお願いいたします。

専門家に質問してみよう