tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルVBのバージョン(会社名)の設定について
記事No14243
投稿日: 2009/11/10(Tue) 23:40
投稿者うな
VBにて開発を行っています。

<環境>
WinXP(SP3) VB6.0(SP6) VisualStdio6.0

EXEのバージョン情報は
プロジェクトのプロパティの
 [実行可能ファイルの作成]タブ-[バージョン情報]-[種類]
にて設定することが可能であると思います。

「会社名」情報を「(設定無し)」としたいのですが、
「会社名」を空にし、プロジェクトファイルを保存しても
次回の起動時に確認すると、「会社名」が設定されている状態となります。
(おそらくレジストリ情報から設定されているかと。。)

レジストリの情報等を変えることなく
「会社名」の設定を「(設定無し)」とすることはできないでしょうか?

<経緯>
EXEのプロパティから「会社名」情報を確認できないようにしたいです。
(2次受けの為、「設定無し」はお客様からの要望)

[ツリー表示へ]
タイトルVBのバージョン(会社名)の設定【修正】
記事No14244
投稿日: 2009/11/11(Wed) 09:07
投稿者花ちゃん
> レジストリの情報等を変えることなく
> 「会社名」の設定を「(設定無し)」とすることはできないでしょうか?
>
> <経緯>
> EXEのプロパティから「会社名」情報を確認できないようにしたいです。

EXE を作成する時に書き換えるのでは、ダメと言う事ですか?
本来、バージョン情報は、EXE を作成する度に書き換えるものだと思うのですが。

又は、削除(Null)してしまうと新規とみなし自動的に書いてしまうので、全角の
スペース等を入力しておけば、スペースが会社名とみなされ、自動挿入はされない。

但し、厳密に言えば、会社名の設定が設定無しとは言えない。
(会社名は、[ ]や[****]で表記する事になる)

[ツリー表示へ]
タイトルRe: VBのバージョン(会社名)の設定について
記事No14246
投稿日: 2009/11/11(Wed) 13:36
投稿者S.Eleven
ResHackerと言うソフトウェアを使えば可能です。

ResHackerでexeを読み込み後、Version infoの+を開き
1を+(通常は1)、そして下階層のギアのマークを選択します。
そこにこんな感じの文字列があると思います。
    ↓


1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEOS 0x4
FILETYPE 0x1
{
BLOCK "StringFileInfo"
{
    BLOCK "040904B0"
    {
        VALUE "CompanyName", "YAYAYA"
        VALUE "ProductName", "Project1"
        VALUE "FileVersion", "1.00"
        VALUE "ProductVersion", "1.00"
        VALUE "InternalName", "test"
        VALUE "OriginalFilename", "test.exe"
    }
}

BLOCK "VarFileInfo"
{
    VALUE "Translation", 0x0409 0x04B0
}
}


ここでは会社名がYAYAYAになっています。
つまり、
VALUE "CompanyName", "YAYAYA"
の行を全て削除し、スクリプトをコンパイル後にexeを
上書き保存してください。

これでexeのプロパティからも会社名の欄が消えます。

[ツリー表示へ]
タイトルRe^2: VBのバージョン(会社名)の設定について
記事No14248
投稿日: 2009/11/11(Wed) 20:40
投稿者うな
花ちゃんさん、S.Elevenさん

回答ありがとうございます。

ResHackerを確認し、
ResHackerか、全角スペースで対応するか検討したいと思います。


花ちゃんさんのご指摘の通り、
バージョン情報は本来、EXEを作成する際、都度更新するものだと思います。
現在かかわっているプロジェクトでは
複数のEXEがあり、またプロジェクトの要員が多く、
都度空白とするという対応の場合、
対応漏れなどが懸念される為、
このような質問をさせて頂きました。

勉強になりました。
ありがとうございます。

[ツリー表示へ]
タイトルRe^3: VBのバージョン(会社名)の設定について
記事No14250
投稿日: 2009/11/12(Thu) 07:23
投稿者花ちゃん
> 都度空白とするという対応の場合、
> 対応漏れなどが懸念される為、

Form_Load 等の起動時のコードに下記のように書いておくのも一手かな。

 If Len(App.CompanyName) > 1 Then MsgBox "会社名が入っています。"

[ツリー表示へ]