none
Visual Studio 2013 Premium+SDK2.7でパッケージ作成時にmsshrtmi.dllへのアクセスが拒否されるエラー RRS feed

  • 質問

  • Visual Studio 2013 PremiumとAzureSDK2.7をインストールし、WorkerRoleを作ってパッケージを作成すると以下のエラーが出ます。

    エラー内容

    「パス C:\Users\xxx\AppData\Local\Temp\xxxx\roles\WorkerRole1\base\x86\msshrtmi.dll へのアクセスが拒否されました」

    検索してみたものの、同様のエラーが出ている方はいらっしゃったようですが解決にいたっているサイトを見つけられませんでした。

    どなたか原因や手がかりになりそうなことについてご存知の方いらっしゃいましたら助けていただけないでしょうか。

    尚、プロジェクトについてはソースを初期状態から何も変更せず、単純にWorkerRoleを作った状態のプロジェクトでも同じエラーとなりました。

    2015年7月28日 12:01

回答

  • こんにちは。

    StackOverflowで回避策が載っていました。

    http://stackoverflow.com/questions/31596327/deploying-to-azure-access-to-the-path-msshrtmi-dll-is-denied

    現状のVer(2.7)だと32ビットOS上だとこのエラーのようになるようです。回避策は64ビットOSにするか、バグFix版を待つかになるかと思います。

    • 回答の候補に設定 星 睦美 2015年8月3日 2:38
    • 回答としてマーク 星 睦美 2015年8月17日 8:01
    2015年7月31日 14:12
    モデレータ

すべての返信

  • こんにちは。

    ビルドすると <プロジェクトのフォルダ>\csx\Debug\roles\WorkerRole1\base\x64 といったパスのフォルダにIISConfigurator.exeなどといっしょにmsshrtmi.dllが配置されますが、こちらの環境だとユーザーフォルダのAppData\Local\Temp\~配下にはできませんでした。(StackOverflowにも似たような症状の人がいますが。。)

    VS2013(Update5)+Azure SDK2.7やVS2015+Azure SDK2.7環境で見てみましたがどちらも同じでした。
    Tempフォルダ配下にできてしまうのが特殊なのか一時的にできるものなのかはわかりませんが、、ちなみに64ビットOS上ですので32ビットOS固有の問題なのかも見えていません。

    もし可能ならプロジェクトの作成先や環境面などもう少し詳しい情報があればと思います。

    2015年7月28日 14:27
    モデレータ
  • お忙しいところご丁寧なご返信をいただき、誠にありがとうございます。

    説明が不足しており申し訳ありません。こちらの環境は32ビット Windows7です。

    また、Visual Studio 2013 Premium Update 4まであてています。

    ・ビルドの出力先はbin\Releaseになっております。

    ・<プロジェクトのフォルダ>\WorkerRole1\bin\Releaseにはmsshrtmi.dllが配置されています。

    ・ご連絡いただきました、<プロジェクトのフォルダ>\csx\Release\roles\WorkerRole1\base\x86にもmsshrtmi.dll配置されていました。

    ・こちらの環境でも、ユーザフォルダのAppData\Local\Temp\~にはエラーに表示されているフォルダは出来ていない状況でした。

    もう少し調べてみます。もしも何かご存知のことありましたらご教示いただけますと幸いです。



    2015年7月29日 0:25
  • こんにちは。

    新規にWebロールなプロジェクトを作成しただけではロールの方のbin\release には該当のファイルは含まれないのですが、何かかわったことをされたのでしょうか。


    2015年7月29日 1:41
    モデレータ
  • ご返信ありがとうございます。

    失礼しました。一度直接参照設定を入れてみようと思い、以下にあるmsshrtmi.dllを参照設定に入れてみたのでした。

    C:\Program Files\Microsoft SDKs\Azure\.NET SDK\v2.7\bin\runtimes\base\x86

    今もう一度新しいプロジェクトを作ってみたところ、bin\release配下にはmsshrtmi.dllは含まれませんでした。

    曖昧な記述をしてしまい、申し訳ありません。


    2015年7月29日 2:10
  • こんにちは。

    StackOverflowで回避策が載っていました。

    http://stackoverflow.com/questions/31596327/deploying-to-azure-access-to-the-path-msshrtmi-dll-is-denied

    現状のVer(2.7)だと32ビットOS上だとこのエラーのようになるようです。回避策は64ビットOSにするか、バグFix版を待つかになるかと思います。

    • 回答の候補に設定 星 睦美 2015年8月3日 2:38
    • 回答としてマーク 星 睦美 2015年8月17日 8:01
    2015年7月31日 14:12
    モデレータ
  • ご連絡ありがとうございます。

    承知いたしました。ではいずれかの回避策をとるようにいたします。

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

    2015年8月6日 6:41