- PR -

.NET Framework 2.0 の Service Pack 1 を適用すると、引数としてURL文字列を与えてのノータッチデプロ

1
投稿者投稿内容
いちろ
会議室デビュー日: 2008/01/08
投稿数: 3
投稿日時: 2008-01-08 09:52
いつもお世話になっております。

先日.NET Framework 2.0 の SP1 を適用後に、自身で開発しているノータッチデプロイメントを使用してクライアント側で起動するアプリケーションが、起動しなくなってしまいました。

開発環境はVS2005です。

原因を調査してみたところ、アプリ側で例外が発生している訳ではなく、ノータッチデプロメイント実行時にアプリを起動する「IEExec.exe」内で例外が発生していました。

該当のアプリケーションは、引数としてアプリケーションが使用するWebサービスのURLをエンコードしたものを受け渡しているのですが、このエンコードした文字列が原因でエラーが起こっています。(URLエンコードをしないURLでの起動は正常に動作しました)

例)http://HostName/test.exe?WebServiceURL=http%3a%2f%2fHostName%2ftest.asmx

よって、「%」の文字列が原因だとは思うのですが、そうするとノータッチデプロイメントで起動するアプリケーションに対して、URLを引数として渡せないということになってしまいます。

URLエンコードをしなければ起動はするのですが、ASP.NETのサーバーコントロールでリンクを作成する場合にURLエンコードがかかってしまいます。

解決策として、URLエンコードをしたまま起動させる方法または、URLエンコードをしないままのリンクの作成方法をご教授ください。

同じ現象に遭遇した方の解決策等もありましたら、参考にさせていただければと思います。よろしくお願い致します。

発生した例外は以下記載の内容です。

--------------

パスに無効な文字が含まれています。

場所 System.Security.Permissions.FileIOPermission.HasIllegalCharacters(String[] str)
場所 System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList)
場所 System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access, String path)
場所 System.Uri.ParseConfigFile(String file, IdnScopeFromConfig& idnStateConfig, IriParsingFromConfig& iriParsingConfig)
場所 System.Uri.GetConfig(UriIdnScope& idnScope, Boolean& iriParsing)
場所 System.Uri.InitializeUriConfig()
場所 System.Uri.InitializeUri(ParsingError err, UriKind uriKind, UriFormatException& e)
場所 System.Uri.CreateHelper(String uriString, Boolean dontEscape, UriKind uriKind, UriFormatException& e)
場所 System.Uri.TryCreate(String uriString, UriKind uriKind, Uri& result)
場所 System.Net.WebPermission.AddPermission(NetworkAccess access, String uriString)
場所 System.Net.WebPermission..ctor(NetworkAccess access, String uriString)
いちろ
会議室デビュー日: 2008/01/08
投稿数: 3
投稿日時: 2008-01-08 09:54
タイトルが長すぎました。うまく表示されていません。

「NET Framework 2.0 の Service Pack 1 を適用すると、引数としてURL文字列を与えてのノータッチデプロイメントで起動するアプリケーションが起動しなくなった」

です。
1

スキルアップ/キャリアアップ(JOB@IT)