質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

4回答

9668閲覧

うんともすんとも言わないexeファイルの原因解明方法にはどの様な方法がありますでしょうか。

teratailmacr2

総合スコア31

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

1クリップ

投稿2020/09/22 01:17

個人の方が恐らくC#で作られた社内システムがありますが、社内PCのOS移行(windows7 → windows10)後、一部のPCではこのシステム(exeファイル)が起動しなくなってしまいました。

同じwindows10でも起動するPCと起動しないPCがあるので、起動しないPCは必要なライブラリか何かが足りないのかなと思いますが、それが一体何でどうすれば判断出来るのかわかりません。

このシステムを作られた方とはもう連絡が取れませんし、C#の事を知っている人間は周りにおりません。
この実行ファイルから手がかりを調べるしかないのですが、どの様な手段が考えられますでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2020/09/22 01:35

コマンドプロンプトを起動し、そこから更に cmd と打って二重起動し、そのアプリのあるディレクトリに cd し、そこからそのアプリを起動してみてください。運が良ければエラーメッセージが出ます。
YAmaGNZ

2020/09/22 01:39

動くPCと動かないPCに何が入っているか比較すればいいんじゃないですか? それで分からないなら、お金をかけて調査を依頼すればいいかと思います。
teratailmacr2

2020/09/22 02:18

コマンドプロンプトからの起動は試してみましたが何も表示されませんでした。
hentaiman

2020/09/22 02:21

C#の事は分かりませんけど、動作不良が起きた時に原因個所を吐かず、ソースコードも無いようなプログラムに頼った運用は辞める方向に持っていかなければ危ない
Zuishin

2020/09/22 04:15 編集

.NET Framework のダウンロードはここからできます。 https://dotnet.microsoft.com/download/dotnet-framework 必要なバージョンがわかればそれを、わからなければ全てインストールしてみたらどうでしょうか。それでも動かなければ急いで新しく作らざるを得ないかもしれません。 Windows 10 は最後の Windows で、これから新しい Windows はすべて Windows 10 という名前になって Windows Update で更新されるそうです。つまり今回の Windows 7 → 10 のようなことが今度は特に OS を替えたという意識もなく起こりえます。そして .NET Framework はレガシーシステムで、.NET への移行が進んでいますから、いずれサポートが切れて動かなくなる可能性もあります。 hentaiman さんに同意で、たとえ急場がしのげたとしても、まだ間に合ううちにソースコードのある、メンテナンスのできるものに移行するのが良いと思います。
guest

回答4

0

ベストアンサー

起動しない、というのはどういう状況でしょうか。
何かしらメッセージ等は出ませんか?
あとは、出るとしたらイベントビュアーのログ等にdll不足等のメッセージが出ていないか調べてみてください。

投稿2020/09/22 01:32

s806099d

総合スコア60

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teratailmacr2

2020/09/22 02:20

ご回答ありがとうございます。 イベントビューアーを見れば良いんですね! 確認したところ、確かに何かエラーが記録されていました。 現時点でエラーの内容はよく分かりませんが、これを足がかりに原因究明を進めていきます。 他にも手がかりが得られる方法がありましたら、引き続きよろしくお願いいたします。
teratailmacr2

2020/09/22 02:27 編集

ちなみに、起動しないと言うのは、exeファイルをダブルクリックしても、表題の通りうんともすんとも言わず、クリックする前後で何の変化も無いと言う状況です。 タスクマネージャーにもプロセスの起動は確認できません。
guest

0

この実行ファイルから手がかりを調べるしかないのですが、どの様な手段が考えられますでしょうか?

基本的には「実行ファイルから」手がかりを得るのではなく、そのプログラムがエラーログやイベントログ等を出力するのであればまずそれを確認し、仕様書やドキュメントの類、ソースファイルから手がかりを得るべきです。

それが無理なら、逆コンパイルして解析するしかありません。
その場合はILSpyなどを利用することになると思います。

上記のいずれも無理であれば、それは「開発者の脳内にしか原因を特定できる情報がない」ということになるので、作り直した方が早いでしょう。

投稿2020/09/22 01:34

gentaro

総合スコア8949

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teratailmacr2

2020/09/22 02:23

ご回答ありがとうございます。 ILSpyはまだ試していませんが、この様なソフトでデコンパイル出来るんですね! どこまで出来るのか興味がありますので、別の機会に改めて試してみたいと思います。
pepperleaf

2020/09/22 02:33

> C#の事を知っている人間は周りにおりません。 と言う状況で、 > 逆コンパイルして解析するしかありません。 は無意味と思います。 DLL等の依存関係の確認が先では?
gentaro

2020/09/22 02:37

@pepperleaf 仰るとおりですが、原因究明のためのステップを提示したまでで、それが無理なケースについては「諦めろ」というのが結論です。 そもそもドキュメントもない、ソースも提示できない完全ブラックボックスのプログラムのエラーを、ここで質問して解決できるとは思いません。
guest

0

>>起動しないPCは必要なライブラリか何かが足りないのかな

こんなので確認出来ないですかね?

https://www.atmarkit.co.jp/fdotnet/dotnettips/866depends/depends.html

当方windousユーザではないため、こちらで検証出来ませんが・・
ご参考までに。

投稿2020/09/22 04:08

hana_yama_san

総合スコア923

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teratailmacr2

2020/09/22 06:30

ご回答ありがとうございます。 これは便利そうですね! 一度検証してみます。
退会済みユーザー

退会済みユーザー

2020/09/22 10:40

Dependency Walkerは、C#製の.NETプログラムではほぼ役に立ちません。 ILSpyを使用してください。
hana_yama_san

2020/09/22 10:47

>>Dependency Walkerは、C#製の.NETプログラムではほぼ役に立ちません。 >>ILSpyを使用してください。 それ、回答に書きましょうよ。 他の色々なユーザさんの参考にもなりますよ。 出来れば前者・後者の優劣の違いの理由なども書いていただけると、 私を含めて、たくさんの人が幸せになれます。
退会済みユーザー

退会済みユーザー

2020/09/22 10:55 編集

ILSpyについては、gentaroさんが既に触れていますので書かなくていいかなと。 ちなみに、Dependency Walkerは、C、C++製ネイティブアプリのインポートライブラリによるDLL参照を追跡する場合には非常に役に立ちます。 ただ、Windows10では重い場合があるので、最近は Dependencies https://github.com/lucasg/Dependencies を使用する事が多いです。
hana_yama_san

2020/09/22 11:08

すみません。仕事ではwindows使ってますが、 その上でのプログラミングなどちんぷんかんぷんです。 と言ったら言い過ぎなのですが・・・・ (自宅では15年デスクトップとしてもFreeBSD使ってます) ただ、昔windows2000等を使用していた時に 現在アクティブなプロセスがどんなdllを呼んでいるか、 一覧するソフトを使っていました(はずです)ので、今回も 「そんなのまだあるかなー」と思って検索したのです。 いや実に、そんなのほとんど無いですね。 貴重な情報と思いますので。 ぜひ回答欄で、詳細な解説をお願いしたいところですね。 ・・・ま、強要は出来ませんが。
guest

0

Have you tried checking for messages for the nature of error? If you can't find the root cause, you have to decompile it unfortunately

投稿2020/09/24 10:21

Utagawa_Aki

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問