0

私が書いている小さなポータルがあり、このポータルはボタンをクリックするとインストーラーを起動することになっています。私はWinXPSP3ステーションでVS2010を開発していますが、このマシンでは、コンパイルと公開を行っても、すべてが期待どおりに機能します。ただし、コンパイルされたアプリケーションをWindows 7で実行すると、クラッシュします...アプリケーションは動作しますが、プログラムをインストールするためのボタンをクリックするとクラッシュします。

プログラミングは次のようになります。

    private void button_access_Click(object sender, RoutedEventArgs e)
    {


        Process executable = new Process();
        string executablePath = "D:\\Visual Studio 2010\\SAFE_Portal1\\SAFE_Portal1\\Extra Programs\\AccessRT2003.exe";
        executable.StartInfo.FileName = executablePath;
        executable.Start();


    }

特に、button_access_Clickプロシージャでクラッシュします...

なぜこれが可能であるかについてのアイデアはありますか?Stackoverflowや他のフォーラムでこの辺りを見回してみましたが、役に立ちませんでした...

どんな助けや指示も大歓迎です!

4

1 に答える 1

0

これを試して:

try
{
     Process executable = new Process();
     string executablePath = "D:\\Visual Studio 2010\\SAFE_Portal1\\SAFE_Portal1\\Extra Programs\\AccessRT2003.exe";
     executable.StartInfo.FileName = executablePath;
     executable.Start();
 }
 catch (Exception msg)
 {
     MessageBox.Show(msg.Message);
 }

どんなメッセージが届きますか?

アプリケーションで固定パスを使用してもよろしいですか?その場合は、少なくとも、開始しようとしているファイルが存在するかどうかを事前に確認する必要があります。そうしないと、例外がスローされ、ここで問題になる可能性があります。

if (File.Exists(executablePath))
{
    ...
}
于 2011-10-12T13:42:07.040 に答える