tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルexeが起動しない
記事No10703
投稿日: 2012/03/05(Mon) 14:17
投稿者mura
VB2005 ExpressEditionにて作成したexeを配布しているのですが、
フォルダ検索機能を追加し、配布したところ、一人だけexeが起動しません。
機能追加前は普通に使用出来たのですが・・・
起動時にエラーがでるわけでもなく、プロセスを確認しながら実行したところ、
exeは一瞬起動するのですが、すぐに終了となってしまいます。
他の人の環境では問題なく実行が出来ています。
良いお知恵をお願いします。
OSは開発者及び使用者共WindowsXPです。

[ツリー表示へ]
タイトルRe: exeが起動しない
記事No10706
投稿日: 2012/03/05(Mon) 15:32
投稿者YuO
> 起動時にエラーがでるわけでもなく、プロセスを確認しながら実行したところ、
> exeは一瞬起動するのですが、すぐに終了となってしまいます。
> 他の人の環境では問題なく実行が出来ています。

具体的な解決策ではありませんが,例外が発生していたりしませんか。
イベントログのアプリケーションイベントとしてエラーが記録されているか,確認してみてはどうでしょうか。

[ツリー表示へ]
タイトルRe^2: exeが起動しない
記事No10708
投稿日: 2012/03/05(Mon) 16:26
投稿者mura
回答ありがとうございます。
例外やエラーはでておりません。
他の環境では問題動く為、解決策がわかりません・・・

[ツリー表示へ]
タイトルRe: exeが起動しない
記事No10710
投稿日: 2012/03/05(Mon) 17:34
投稿者魔界の仮面弁士
> VB2005 ExpressEditionにて作成したexeを配布しているのですが、
> フォルダ検索機能を追加し、配布したところ、一人だけexeが起動しません。
> 機能追加前は普通に使用出来たのですが・・・

開発環境と実行環境とで、.NET Framework 2.0 の
Service Pack 状況を確認してみてください。

FileDialog.AutoUpgradeEnabled プロパティなどのように、
SP 導入によって追加されたプロパティなどが存在しますので、
そのあたりが関係しているのかもしれません。

[ツリー表示へ]
タイトルRe^2: exeが起動しない
記事No10716
投稿日: 2012/03/08(Thu) 09:46
投稿者mura
> > VB2005 ExpressEditionにて作成したexeを配布しているのですが、
> > フォルダ検索機能を追加し、配布したところ、一人だけexeが起動しません。
> > 機能追加前は普通に使用出来たのですが・・・
>
> 開発環境と実行環境とで、.NET Framework 2.0 の
> Service Pack 状況を確認してみてください。
>
> FileDialog.AutoUpgradeEnabled プロパティなどのように、
> SP 導入によって追加されたプロパティなどが存在しますので、
> そのあたりが関係しているのかもしれません。
返信遅くなり申し訳ございません。
.NET Framework 2.0を確認しましたが、開発環境と実行環境で同じでした。
配布するファイルが間違っているのでしょうか?
ビルド実行後、bin→Release内にあるexeファイルを配布しています。

[ツリー表示へ]
タイトルRe^3: exeが起動しない
記事No10717
投稿日: 2012/03/08(Thu) 13:24
投稿者魔界の仮面弁士
> 配布するファイルが間違っているのでしょうか?
> ビルド実行後、bin→Release内にあるexeファイルを配布しています。

配布に当たり、インストーラーは用意されましたか?
また、単純なコンソールアプリや WinForm アプリを配布した場合には、
問題なく起動しますか?


以下、思いつきで:

・コピー/ダウンロードに失敗して、exe が欠損している。

・zip 等で配布している場合、利用者が中身を展開することなく
 zipフォルダから直接ダブルクリック実行していたため、
 依存ファイル(.config等)が読み込まれずに実行が中断される。

・実行環境において、一部のランタイムが不足している。

・セキュリティソフトによって実行がブロックされている。

[ツリー表示へ]
タイトルRe^4: exeが起動しない
記事No10718
投稿日: 2012/03/08(Thu) 16:03
投稿者mura
> > 配布するファイルが間違っているのでしょうか?
> > ビルド実行後、bin→Release内にあるexeファイルを配布しています。
>
> 配布に当たり、インストーラーは用意されましたか?
> また、単純なコンソールアプリや WinForm アプリを配布した場合には、
> 問題なく起動しますか?
>
>
> 以下、思いつきで:
>
> ・コピー/ダウンロードに失敗して、exe が欠損している。
>
> ・zip 等で配布している場合、利用者が中身を展開することなく
>  zipフォルダから直接ダブルクリック実行していたため、
>  依存ファイル(.config等)が読み込まれずに実行が中断される。
>
> ・実行環境において、一部のランタイムが不足している。
>
> ・セキュリティソフトによって実行がブロックされている。
インストーラーは用いておりません。
初期の配布ではビルドせず、作成したアプリはbin→Debug内にあるexeとdllファイルを
展開しておりました。(知識がなく別の開発者に言われた通り配布しておりました。)
今回機能追加した際、ビルドしてRelease内にあるexeを配布するよう教えてもらった為、
ビルドを実行し、exeを配布したところ、一部のPCで起動が出来なくなりました。
Debug内にあるexeとdllを配布しようとしたところdllファイルがなくなっており、
exeファイルのみを展開しても一部のPCでは起動しませんでした。
今回追加した機能でSystem.IO.Directory.GetDirectoriesを用いているのですが、
これが影響しているのでしょうか?
ランタイムはどれが不足しているか調べる方法はありますでしょうか?
社内ですのでセキュリティソフトは全員が同様の物を使用しています。

[ツリー表示へ]
タイトルRe^5: exeが起動しない
記事No10719
投稿日: 2012/03/08(Thu) 19:54
投稿者魔界の仮面弁士
exe そのものの実行が阻害される仕組みとしては、たとえば、
「ZoneId」や「コード・アクセス・セキュリティ」があります。
でもこれらなら、何らかのメッセージが出るはずなんですよね…。


> Debug内にあるexeとdllを配布しようとしたところdllファイルがなくなっており、
mura さんの exe が、DLL を必要とするものであるかどうかについては、
こちらでは何とも判断できません。


> exeファイルのみを展開しても一部のPCでは起動しませんでした。
exe とは別のフォルダーに置いてある DLL を読み取るタイプの
exe もありますが、今回の物がどうであるかは分からないです


> 今回追加した機能でSystem.IO.Directory.GetDirectoriesを用いているのですが、
> これが影響しているのでしょうか?
今回追加した機能を外した状態でテストしてみては如何でしょう。


あとは、ファイルアクセスを行っているという事からして、何らかの
アクセス権限不足による例外が発生している可能性もあります。

その例外を通知せず、単に On Error ないしは Try Catch で
握りつぶすようなコードを書いていた場合には、もしかしたら
無言で終了するという自体になる事もあるかも知れません。



> ランタイムはどれが不足しているか調べる方法はありますでしょうか?
ランタイム不足の場合、無言で終了するケースは稀です。基本的には、
何らかのエラーが表示されるはずですので、それで確認することになります。

また、少なくとも System.IO.Directory.GetDirectories に関して言えば、
これのランタイムが不足するという自体にはならないと思います。
(流石に mscorlib が無いという自体にはならないはず…)

[ツリー表示へ]
タイトルRe^6: exeが起動しない
記事No10720
投稿日: 2012/03/09(Fri) 11:36
投稿者mura
> exe そのものの実行が阻害される仕組みとしては、たとえば、
> 「ZoneId」や「コード・アクセス・セキュリティ」があります。
> でもこれらなら、何らかのメッセージが出るはずなんですよね…。
>
>
> > Debug内にあるexeとdllを配布しようとしたところdllファイルがなくなっており、
> mura さんの exe が、DLL を必要とするものであるかどうかについては、
> こちらでは何とも判断できません。
>
>
> > exeファイルのみを展開しても一部のPCでは起動しませんでした。
> exe とは別のフォルダーに置いてある DLL を読み取るタイプの
> exe もありますが、今回の物がどうであるかは分からないです
>
>
> > 今回追加した機能でSystem.IO.Directory.GetDirectoriesを用いているのですが、
> > これが影響しているのでしょうか?
> 今回追加した機能を外した状態でテストしてみては如何でしょう。
>
>
> あとは、ファイルアクセスを行っているという事からして、何らかの
> アクセス権限不足による例外が発生している可能性もあります。
>
> その例外を通知せず、単に On Error ないしは Try Catch で
> 握りつぶすようなコードを書いていた場合には、もしかしたら
> 無言で終了するという自体になる事もあるかも知れません。
>
>
>
> > ランタイムはどれが不足しているか調べる方法はありますでしょうか?
> ランタイム不足の場合、無言で終了するケースは稀です。基本的には、
> 何らかのエラーが表示されるはずですので、それで確認することになります。
>
> また、少なくとも System.IO.Directory.GetDirectories に関して言えば、
> これのランタイムが不足するという自体にはならないと思います。
> (流石に mscorlib が無いという自体にはならないはず…)
原因がわかりました。Accessのデータベースに接続しているのですが、
動かないPCはAccess2007のスタンダードで私のPCはプロフェッショナルでした。
エラーを抽出することが出来、daoバージョン 10.0.4504.0をインストールする
必要があるとメッセージが出たのですが、これはどこから入手できるのでしょうか?
検索しても出てきません。お手数ですがご教授お願いします。

[ツリー表示へ]
タイトルRe^7: exeが起動しない
記事No10721
投稿日: 2012/03/09(Fri) 16:35
投稿者mura
WINDOWS\assembly内にdaoがあったのですが、これを他のPCに移植するには
どうすれば良いでしょうか?コピー出来ません。
申し訳ないですが教えてください。

[ツリー表示へ]
タイトルRe^7: exeが起動しない
記事No10722
投稿日: 2012/03/09(Fri) 17:57
投稿者魔界の仮面弁士
> 動かないPCはAccess2007のスタンダードで私のPCはプロフェッショナルでした。
> エラーを抽出することが出来、daoバージョン 10.0.4504.0をインストールする
> 必要があるとメッセージが出たのですが、これはどこから入手できるのでしょうか?

10.0.4504.0 ということは、Office 2003 ですね。
Office 2003 用のプライマリ相互運用機能アセンブリをインストールしてみてください。

http://msdn.microsoft.com/ja-jp/library/aa159923.aspx
http://msdn.microsoft.com/ja-jp/library/cc375794.aspx
http://support.microsoft.com/kb/897646/ja
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=20923


> ご教授お願いします。
http://www.tt.rim.or.jp/~rudyard/torii009.html

[ツリー表示へ]
タイトルRe^8: exeが起動しない
記事No10732
投稿日: 2012/03/12(Mon) 18:04
投稿者mura
返信遅くなり申し訳ございません。
魔界の仮面弁士さんご対応ありがとうございました。
教えていただいたサイトにてインストールしてみたいと思います。

ご教示が正しいのですね。勉強になりました。

[ツリー表示へ]
タイトルRe^8: exeが起動しない
記事No10743
投稿日: 2012/03/14(Wed) 09:59
投稿者mura
魔界の仮面弁士さん
教えていただいたoffice2003用をインストールしようとしましたが、
officeは2007の為、インストールできませんでした。
daoバージョン 10.0.4504.0のみインストールする方法はありますでしょうか?

[ツリー表示へ]
タイトルRe^9: exeが起動しない
記事No10745
投稿日: 2012/03/15(Thu) 01:49
投稿者魔界の仮面弁士
VSTO などにおいては、DAO の PIA に対して完全信頼のアクセス許可を
明示的に与えなければならないといった話があるようです。
それが今回の件に関係しているかどうかは分かりませんけれども。
http://msdn.microsoft.com/ja-jp/library/cc375817.aspx


> 教えていただいたoffice2003用をインストールしようとしましたが、
> officeは2007の為、インストールできませんでした。
XP用、2003用、2007用、2010用それぞれに PIA が用意されています。
http://msdn.microsoft.com/ja-jp/library/kh3965hw.aspx
http://www.microsoft.com/download/en/details.aspx?DisplayLang=en&id=18346


> daoバージョン 10.0.4504.0のみインストールする方法はありますでしょうか?
そもそもコンパイル環境には dao 10.0.4504.0 があるのですよね。

Office や VSTO に含まれているのではないかと思いますが、そこまで調べてはいません。

参考までに、手元の環境にあった dao のライブラリを掲載しておきます。
mdb のみの対応となる DAO 3.5〜3.6 (Jet 3.5x〜4.0)と、
accdb にも対応した DAO 12.0 (Access Database Engine 12.0)の両方を列挙しています。


※ 当方環境 ※
・Windows 7 Enterprise x64
・VS2010 Ultimate
・VS2008 Team Development
・VS2005 Team Suite
・Office Standard 2010 x86
・Access 2010 x86


==============================
以下は .NET 用の PIA
------------------------------
C:\Program Files (x86)\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office11\dao.dll
 ファイルの説明: Primary Interop Assembly
 製品名: Microsoft Office XP
 ファイル更新日: 2007/07/30 13:43:54
 ファイルバージョン: 10.0.4504.0
 アセンブリバージョン: 10.0.4504.0
 ランタイム: v1.0.3705

C:\Program Files (x86)\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office12\dao.dll
 ファイルの説明: Primary Interop Assembly
 製品名: Microsoft Office XP
 ファイル更新日: 2007/04/26 15:32:34  … 何故か上記より古い
 アセンブリバージョン: 10.0.4504.0
 ファイルバージョン: 10.0.4504.0
 アセンブリバージョン: 10.0.4504.0
 ランタイム: v1.0.3705

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Common\dao.dll
 ファイルの説明: Primary Interop Assembly
 製品名: Microsoft Office XP
 ファイル更新日: 2011/01/18 18:27:04
 ファイルバージョン: 10.0.4504.0
 アセンブリバージョン: 10.0.4504.0
 ランタイム: v1.0.3705

------------------------------
C:\Program Files (x86)\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office12\Microsoft.Office.Interop.Access.Dao.dll
 ファイルの説明: Microsoft.Office.Interop.Access.Dao
 製品名: 2007 Microsoft Office system
 ファイル更新日: 2007/07/30 13:43:56
 ファイルバージョン: 12.0.4518.1014
 アセンブリバージョン: 12.0.0.0
 ランタイム: v1.1.4322

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12\Microsoft.Office.Interop.Access.Dao.dll
 ファイルの説明: Microsoft.Office.Interop.Access.Dao
 製品名: 2007 Microsoft Office system
 ファイル更新日: 2011/01/18 18:27:02
 ファイルバージョン: 12.0.4518.1014
 アセンブリバージョン: 12.0.0.0
 ランタイム: v1.1.4322

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14\Microsoft.Office.Interop.Access.Dao.dll
 ファイルの説明: Microsoft.Office.Interop.Access.Dao
 製品名: Microsoft Office 2010
 ファイル更新日: 2011/01/18 18:27:04
 ファイルバージョン: 14.0.4760.1000
 アセンブリバージョン: 14.0.0.0
 ランタイム: v2.0.50727

==============================
以下は GAC に登録された物
------------------------------
C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Access.Dao\14.0.0.0__71e9bce111e9429c\Microsoft.Office.interop.access.dao.dll
 ファイルの説明: Microsoft.Office.Interop.Access.Dao
 製品名: Microsoft Office 2010
 ファイル更新日: 2011/10/11 19:40:24
 ファイルバージョン: 14.0.4760.1000
 アセンブリバージョン: 14.0.0.0
 ランタイム: v2.0.50727

==============================
以下は .NET 版ではなく COM 版の DAO 本体
------------------------------
C:\Program Files (x86)\Common Files\microsoft shared\DAO\DAO350.DLL
 [Microsoft DAO 3.51 Object Library]
 ファイルの説明: Microsoft DAO 3.51 Object Library
 製品名: Microsoft(R) Jet
 ファイル更新日: 1998/04/27 00:00:00
 ファイルバージョン: 3.51.1608.0
 タイプライブラリバージョン: 4.0

C:\Program Files (x86)\Common Files\microsoft shared\DAO\DAO360.DLL
 [Microsoft DAO 3.6 Object Library]
 ファイルの説明: Microsoft DAO 3.6 Object Library
 製品名: Microsoft(R) Jet
 ファイル更新日: 2009/07/14 10:15:08
 ファイルバージョン: 3.60.9756.0
 タイプライブラリバージョン: 5.0

C:\Program Files (x86)\Common Files\microsoft shared\DAO\DAO2535.TLB
 [Microsoft DAO 2.5/3.51 Compatibility Library]
 ファイル更新日: 1995/05/15 00:00:00
 タイプライブラリバージョン: 3.5

------------------------------
C:\Program Files (x86)\Microsoft Office\Office14\ACEDAO.DLL
 [Microsoft Office 14.0 Access database engine Object Library]
 ファイルの説明: Microsoft Access database engine Data Access Object Library
 製品名: Microsoft Office 2010
 ファイル更新日: 2010/12/28 00:49:20
 タイプライブラリバージョン: 14.0

C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\ACEDAO.DLL
 [Microsoft Office 14.0 Access database engine Object Library]
 ファイルの説明: Microsoft Access database engine Data Access Object Library
 製品名: Microsoft Office 2010
 ファイル更新日: 2010/12/28 00:49:20
 タイプライブラリバージョン: 14.0

[ツリー表示へ]
タイトルRe^10: exeが起動しない
記事No10750
投稿日: 2012/03/22(Thu) 11:42
投稿者mura
Office2007 プロフェッショナルをインストールする事で解決できました。
返信遅くなり申し訳ございません。
魔界の仮面弁士さんたくさんの情報を提供いただきありがとうございました。

[ツリー表示へ]