tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル多言語のDLL配布の件
記事No9629
投稿日: 2009/11/26(Thu) 15:01
投稿者従業員
VB2005+Visual Fortran 11

大変お世話になります。
VB2005+Visual Fortran 11で簡単なプログラムを作りました。
そこで配布のところに来て息詰まっています。
配布の際にFortranで作成された*.dllがプログラム(exe)と一緒に
コピーされないのが原因だと思います。
dllやランタイムモジュールを配布と同時に配布する方法がありましたら
教えてください。 よろしくお願いいたします。

[ツリー表示へ]
タイトルRe: 多言語のDLL配布の件
記事No9631
投稿日: 2009/11/26(Thu) 17:14
投稿者オショウ
> 配布の際にFortranで作成された*.dllがプログラム(exe)と一緒に
> コピーされないのが原因だと思います。
> dllやランタイムモジュールを配布と同時に配布する方法がありましたら
> 教えてください。 よろしくお願いいたします。

  配布の際・・・とは?

  何かインストーラ作ったのですか?
  作ってないのであれば、インストーラ作って配布するように
  すればよいことかと。

  http://dobon.net/vb/dotnet/index.html#deployment

  やり方はいろいろあるかと・・・

以上。参考まで

[ツリー表示へ]
タイトルRe^2: 多言語のDLL配布の件
記事No9632
投稿日: 2009/11/27(Fri) 11:47
投稿者従業員
オショウ様

ご返信くださいましてありがとうございます。

VB2005超初心者には少々ハードルが高いようです。
しかし、何とかインストーラーで発行と同じフォルダーに"***.dll"を
コピーすることができました。

ですが、setup.exeを実行すると「インストールファルダ」で
C:\Program Files\pro1\pro1\ となり"\pro1"が自動的に一階層増えて
しまいます。
FortranのDLLのパスを C:\Program Files\pro1 としておりますので、
一階層増えてしまいますとdllを呼び込めません。

インストール時にインストールフォルダを C:\Program Files\pro1\
に変更すればプログラムが実行されることを確認いたしました。
結果的にはOKなのですが第三者に配布する場合に問題が発生しやすいと
思います。何か改善点はありませんでしょうか?

具体的には以下に示すようにおこないました。

インストーラーはVS2005上で、
ソリューションの追加

新しいプロジェクトの追加
  セットアップと配置
  プロジェクト名 "pro1"
  場所 "c:\pro"

アプリケーションファオルダー 
  追加/ プロジェクト出力
  追加/ ***.dll

ビルド実行

このインストーラーは ClickOnce と云うのでしょうか?
よろしくお願いいたします。

以上

[ツリー表示へ]
タイトルRe^3: 多言語のDLL配布の件
記事No9636
投稿日: 2009/11/27(Fri) 16:46
投稿者オショウ
> ですが、setup.exeを実行すると「インストールファルダ」で
> C:\Program Files\pro1\pro1\ となり"\pro1"が自動的に一階層増えて
> しまいます。
> FortranのDLLのパスを C:\Program Files\pro1 としておりますので、
> 一階層増えてしまいますとdllを呼び込めません。

  今、手元に2005が無いので・・・

  2008ですと、セットアップ用プロジェクトのファイルシステムを
  開き、アプリケーションフォルダを選択。
  画面右側のプロパティで、DefaultLocationの設定内容を・・・
  [ProgramFilesFolder]\[ProductName]
  にすれば、よいようにも思いますが・・・

  ここの設定が、初期インストール時のフォルダ設定の文字列に
  なりますので、ご確認下さい。

以上。参考まで

[ツリー表示へ]
タイトルRe^4: 多言語のDLL配布の件
記事No9639
投稿日: 2009/11/27(Fri) 17:08
投稿者従業員
オショウ様

ご回答くださいましてありがとうございます。

確かに、C:\Program Files\の以下の一階層だけ、色々とやってみましたが、
変えることはできませんでした。

初期インストール時のフォルダ設定の文字列に
>   なりますので、ご確認下さい。

文字から判断してどうもそのようです。
ここで色々と調べてみましたが、
初期設定フォルダの文字列を変更することはできないのでしょうか?
お分かりでしたら教えてください。
よろしくお願いいたします。

以上

[ツリー表示へ]
タイトルRe^5: 多言語のDLL配布の件
記事No9640
投稿日: 2009/11/27(Fri) 17:43
投稿者オショウ
> 確かに、C:\Program Files\の以下の一階層だけ、色々とやってみましたが、
> 変えることはできませんでした。

  いろいろとは?
  現在のDefaultLocationの中身はどうなっていますか?

> 初期設定フォルダの文字列を変更することはできないのでしょうか?

● 2005でのSetupソリューションで確認してみました。

  やはり2008同様にアプリケーションフォルダのDefaultLocation
  は、[ProgramFilesFolder][Manufacturer]\[ProductName]が
  デフォルト設定ですネ!

  で、[ProgramFilesFolder]\[ProductName]とした場合に、
  今回のインストール時の情報が、
  C:\Program Files\pro1\pro1\
  となってしまうことが、逆に解りません・・・

  ええ〜と・・・
  アプリケーションフォルダを選択して、右側のペイン中
  各種DLLやEXEファイルがあると思いますが、該当する何
  かファイルを選択し、プロパティウィンドウでのFolder
  設定には、何となっていますか?

  通常は、アプリケーション フォルダとなっているはず
  ですが・・・
  アプリケーション フォルダ\Pro1 とか・・・
  アプリケーション フォルダPro1 とかになってませんか?

  そうなっていたら、そこを修正して下さい。

以上。

[ツリー表示へ]
タイトルRe^5: 多言語のDLL配布の件
記事No9641
投稿日: 2009/11/27(Fri) 17:51
投稿者従業員
オショウ様

こんばんは、お世話になります。

先の件ですが、
追加したプロジェクトのプロパティの「manufacturer」を試しに、
"ABC"に変更してみましたら、
C:\Program Files\ABC以下にインストールすることができました。

以上のような方法でインストーラを作成すればよろしいのでしょうか?

以上

[ツリー表示へ]
タイトルRe^6: 多言語のDLL配布の件
記事No9642
投稿日: 2009/11/27(Fri) 19:44
投稿者オショウ
> 追加したプロジェクトのプロパティの「manufacturer」を試しに、
> "ABC"に変更してみましたら、
> C:\Program Files\ABC以下にインストールすることができました。
>
> 以上のような方法でインストーラを作成すればよろしいのでしょうか?

  私は・・・
  DefaultLocationの設定内容を
  [ProgramFilesFolder]\[ProductName]
  のようにしてますが・・・

※ ご自身が、これでよい!と思われたならそれで
  よいのでは?

以上。

[ツリー表示へ]
タイトルRe^7: 多言語のDLL配布の件
記事No9651
投稿日: 2009/11/30(Mon) 13:30
投稿者従業員
オショウ様

こんにちは、お世話になります。
下記の件の意味がやっと分りました。
確かにご指示どおりに設定しましたら。
ProgramFilesFolder\Prg1 以下にアプリケーションが
インストールされることを確認いたしました。
色々といじくりまわしましたのでおかしくなっていたようです。
頭の中の整理もつきました。
どうもありがとうございました。

以上

  私は・・・
  DefaultLocationの設定内容を
  [ProgramFilesFolder]\[ProductName]
  のようにしてますが・・・
※ ご自身が、これでよい!と思われたならそれで
  よいのでは?

[ツリー表示へ]