locked
プログラム実行ファイルと同じ場所にファイルを出力するアプリケーション RRS feed

  • 質問

  • Visual Basic 6で実装されたXP時代のアプリケーションをApp-V for RDS 4.6 SP1 で実行できるようにしたいと思っております。

    しかし、ログファイル出力が プログラム実行ファイルと同じディレクトリに固定されているため、RDクライアントで実行したときに、Qドライブへの書き込みができず「パスがありません」などのログ出力エラーとなってしまいます。

    構成ですが、単純化して説明すると、シーケンス後のアプリケーションは下記のような構成です。

    実行ファイル Q:\app1\application.exe

    ログファイル Q:\app1\error.log (プログラム内では、App.Path\error.log)

    プログラム側の変更を行わずに、ログの出力場所を別の場所に変更できるなど、この問題を解決する方法はあるでしょうか?

    シンボリックリンクなどでQドライブ以外の場所にログを出力できないものかと挑戦しましたが、Qドライブそのものが不可視なので無理でした。

     

    なにか解決策がございましたら、ご教示ください。


    2011年7月20日 3:03

回答

  • どうもです。
    提示されている、パス構成なら問題なく書き込みできると思うんですが。。。
    無理って事ですので
    何点かポイントを。

    アクセス拒否 エラー70番系の場合は
    QドライブのファイルにもNTFSのアクセス権が適用される設定があるので
    管理者アカウントでの動作確認を。
    シーケンス時の展開タブに「セキュリティー記述子を適用する」と言うチェックボックスがonだと
    アクセス権が適用されます。規定値on
    チェックを外して、保存し直して見てください。

    パスが見つからない系で良くあるのは
    作業フォルダの設定が足らない場合です。
    相対パスで参照している時に発生しやすいので、関係無いかもしれませんが。。。
    ワーキングフォルダの設定方法は

    osdファイルの<WORKINGDIR>パス</WORKINGDIR>で設定出来ます。



    tune
    • 回答としてマーク 三沢健二 2011年8月1日 6:34
    2011年7月22日 15:57

すべての返信

  • どうもです。
    提示されている、パス構成なら問題なく書き込みできると思うんですが。。。
    無理って事ですので
    何点かポイントを。

    アクセス拒否 エラー70番系の場合は
    QドライブのファイルにもNTFSのアクセス権が適用される設定があるので
    管理者アカウントでの動作確認を。
    シーケンス時の展開タブに「セキュリティー記述子を適用する」と言うチェックボックスがonだと
    アクセス権が適用されます。規定値on
    チェックを外して、保存し直して見てください。

    パスが見つからない系で良くあるのは
    作業フォルダの設定が足らない場合です。
    相対パスで参照している時に発生しやすいので、関係無いかもしれませんが。。。
    ワーキングフォルダの設定方法は

    osdファイルの<WORKINGDIR>パス</WORKINGDIR>で設定出来ます。



    tune
    • 回答としてマーク 三沢健二 2011年8月1日 6:34
    2011年7月22日 15:57
  •  

    返答が遅くなって申し訳ありません。

     

    ご教授いただいた通り、

    > シーケンス時の展開タブに「セキュリティー記述子を適用する」と言うチェックボックスがonだと
    > アクセス権が適用されます。規定値on
    > チェックを外して、保存し直して見てください。

    を実施することによってエラーが解消されました。

     

    また、元ファイルのACLに該当ユーザの書き込み権限を付けることによっても解消できました。

     

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


    • 回答としてマーク geekjapan 2011年8月18日 2:31
    • 回答としてマークされていない geekjapan 2011年8月18日 2:31
    2011年8月18日 2:31