none
ASPサーバー側でEXEを起動したい RRS feed

  • 質問

  • 開発環境:Visual Studio .NET 2003

    OS:Windows XP,IIS 5.1

    下記のようにコーディングをしましたが、EXEがうまく動きませんでした。

            Dim proc As New System.Diagnostics.Process

            proc.StartInfo.FileName = "C:\WinApp\bin\WinApp.exe"
            proc.StartInfo.Arguments = "AlarmMaster"

            proc.Start()
            proc.WaitForExit()
            proc.Close()

    実行すると、裏で動いて、表示もしなく、終了もしません。

    いろいろ調べてみましたが、解決できず困っています。

    ご教授お願いします。

    2010年5月11日 2:10

回答

  • はじめまして。

    早速ですが、プリンタにアクセス権がないのではないでしょうか? 

    対象exe(WinApp.exe)は、”Usersの権限”で実行されていると思います。

    プリンタのプロパティからUsersにアクセス権限が付与されているか確認してみてはいかがでしょうか。


    MCITP(Database Developer/Database Administrator) MCPD(Web Developer/Windows Developer)
    • 回答としてマーク 山本春海 2010年5月12日 7:03
    2010年5月11日 10:59
  • すでに解決済みのようですが、以下のページを見つけたので、ご
    参考に紹介しておきます。

    サーバーからの Web ベースのレポートの印刷
    http://msdn.microsoft.com/ja-jp/library/aa290045.aspx

    [IIS]ASP によるサーバ側での印刷方法について
    http://support.microsoft.com/default.aspx?scid=kb;ja;419321

    ワーカープロセスのアカウントを SYSTEM に設定する方法が紹介
    されています。(ASPNET アカウントに管理者権限を与えるのと
    同じことかもしれませんが)

    • 回答としてマーク 山本春海 2010年5月13日 6:35
    2010年5月12日 13:59

すべての返信

  • ASP.NETが稼働しているWEBサーバー側で動かしたEXEはどこに画面を表示する想定でいるのでしょうか? WEBサーバー側で動かしたEXEの画面をクライアント側(ブラウザが稼働している側)で表示する事もできませんし、WEBサーバー側で操作が必要な画面が表示されたとしても誰も操作する人がいません。
    http://blogs.wankuma.com/hatsune/
    • 回答の候補に設定 山本春海 2010年5月12日 7:03
    2010年5月11日 3:13
  • 返事ありがとうございます。

    ここの表示というのは、印刷処理です。

    EXEを通して、サーバーに接続しているプリンターから印刷しようとしています。EXEを動いていますが、印刷できません。説明不足で、すみませんでした。

    ログを出力してみましたが、やはり印刷処理はうまく実行できませんでした。

    2010年5月11日 9:52
  • はじめまして。

    早速ですが、プリンタにアクセス権がないのではないでしょうか? 

    対象exe(WinApp.exe)は、”Usersの権限”で実行されていると思います。

    プリンタのプロパティからUsersにアクセス権限が付与されているか確認してみてはいかがでしょうか。


    MCITP(Database Developer/Database Administrator) MCPD(Web Developer/Windows Developer)
    • 回答としてマーク 山本春海 2010年5月12日 7:03
    2010年5月11日 10:59
  • 返事ありがとうございます。

    aspnetに管理者の権限を付与したら印刷できるようになりました。

    皆様、ありがとうございました。

    2010年5月11日 13:16
  • >実行すると、裏で動いて、表示もしなく、終了もしません。

    ”裏で動いて”・・WinApp.exeの起動は成功しているのでしょう。タスクマネージャなどから実行ユーザを確認してみては。

    ”表示もしなく”・・実行ユーザがWindowsにログオンしているユーザと異なる為表示されないのでしょう。

    ”終了もしません”・・WaitForExit()メソッドを使用している為、WinApp.exeプロセスが終了するまで待ちます。

    WinApp.exeをコマンドライン実行したらプロセスが終了するような作りになってますか?


    MCITP(Database Developer/Database Administrator) MCPD(Web Developer/Windows Developer)
    2010年5月12日 3:22
  • すでに解決済みのようですが、以下のページを見つけたので、ご
    参考に紹介しておきます。

    サーバーからの Web ベースのレポートの印刷
    http://msdn.microsoft.com/ja-jp/library/aa290045.aspx

    [IIS]ASP によるサーバ側での印刷方法について
    http://support.microsoft.com/default.aspx?scid=kb;ja;419321

    ワーカープロセスのアカウントを SYSTEM に設定する方法が紹介
    されています。(ASPNET アカウントに管理者権限を与えるのと
    同じことかもしれませんが)

    • 回答としてマーク 山本春海 2010年5月13日 6:35
    2010年5月12日 13:59
  • SirferPmWww様、返事有難うございます。

    とても勉強になりました。有難うございました。

    2010年5月14日 14:16