C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: インストーラに、バージョン情報を付加できますか?


(過去ログ 103 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■61719 / inTopicNo.1)  インストーラに、バージョン情報を付加できますか?
  
□投稿者/ マサ (1回)-(2011/08/31(Wed) 11:01:52)

分類:[インストーラ全般] 

InstallShield2010を使用しています。

Install Scriptプロジェクトでインストーラの単一exeを作成していますが、このインストーラ.exeに任意のバージョン番号を埋め込むことはできないでしょうか?
インストール後に「プログラムの追加と削除」で確認するとバージョン情報を見ることができますが、インストーラexeの段階でバージョンを確認したいです。
バージョン情報の添付が無理でも、なにか開発者指定の任意のパラメータをインストーラに添付でき、ファイルのプロパティから参照できればその方法も教えていただきたいです。

引用返信 編集キー/
■61731 / inTopicNo.2)  Re[1]: インストーラに、バージョン情報を付加できますか?
□投稿者/ とっちゃん (587回)-(2011/08/31(Wed) 18:34:55)
とっちゃん さんの Web サイト
No61719 (マサ さん) に返信
> InstallShield2010を使用しています。
>
> Install Scriptプロジェクトでインストーラの単一exeを作成していますが、このインストーラ.exeに任意のバージョン番号を埋め込むことはできないでしょうか?
> インストール後に「プログラムの追加と削除」で確認するとバージョン情報を見ることができますが、インストーラexeの段階でバージョンを確認したいです。
単一EXE のバージョンをインストールする対象の製品のバージョンに合わせたいということでしょうか?
結論から言えば、リソースを適宜書き換えてやれば可能です。
が、一般的にはそういうことはしていないと思います。


> バージョン情報の添付が無理でも、なにか開発者指定の任意のパラメータをインストーラに添付でき、ファイルのプロパティから参照できればその方法も教えていただきたいです。
>
InstallScript はわかりませんが、MSI形式の場合(InstallScriptMSIでも基本MSIでも)は、ProductVersion プロパティがインストーラパッケージのバージョンになります。
とはいえ、これもファイルのプロパティのようなOS標準のしくみで見ることはできませんが。。。

引用返信 編集キー/
■61754 / inTopicNo.3)  Re[2]: インストーラに、バージョン情報を付加できますか?
□投稿者/ マサ (2回)-(2011/09/02(Fri) 10:26:47)
返信ありがとうございます。

>>単一EXE のバージョンをインストールする対象の製品のバージョンに合わせたいということでしょうか?

はい、概ねそのような感じです。インストーラexeのバージョン管理を簡単に行えるようにするのを目的としています。
試してはいないですが、インストーラ自体に電子署名を行うので、リソース情報を書き換えると不具合が生じないでしょうか??


引用返信 編集キー/
■61762 / inTopicNo.4)  Re[3]: インストーラに、バージョン情報を付加できますか?
□投稿者/ とっちゃん (589回)-(2011/09/02(Fri) 21:32:04)
とっちゃん さんの Web サイト
No61754 (マサ さん) に返信
> はい、概ねそのような感じです。インストーラexeのバージョン管理を簡単に行えるようにするのを目的としています。
ビルド後の単一イメージを管理対象としていて、なおかつそのEXEのバージョンをバラバラにしたいんですか?
なんか。。。すごく大変そうですね。


> 試してはいないですが、インストーラ自体に電子署名を行うので、リソース情報を書き換えると不具合が生じないでしょうか??
>
単一EXEにする場合、インストーラのデータを埋め込んでから署名を行うので(署名とはそういうもの)、埋め込む前の段階でバージョンを変えておくという形をとります。

以前、大人の事情で同じようなことを解決したことがあります。ほかにも選択肢があるといったにもかかわらず。。。

結論から言えば、パッケージングする前の段階のファイルのバージョンを意図したものにしておいて、
それからパッケージングを行うという形をとることで、今回のような事例を解決することはできます。

要するに、Program Files 以下のInstallShieldのインストール先にあるsetup.exeのもとになるEXEの
バージョンをあらかじめ書き換えておく。。。ということです。

こうしておけば、パッケージング->署名と行われていく前の段階でバージョンが変わっているので
そのあとの処理には一切影響が出ません。


ちなみに。。。当時この選択肢があることを提示してそういう形をとって対応した該当製品ですが
ほかの製品を作るときにバージョンを変更するとかすごく大変なことをしなきゃならなくなって
以後その選択肢の延長線上をたどるということはしなくなりました。

まぁ、当たり前といえば当たり前ですが、ISの利用条件とかから非常に厳しい使い方
を迫ることになってましたからね。

そんなこんなで、手段はないわけではありませんが、個人的にはお勧めできません。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -