0

アプリケーション内からいくつかの VBSCRIPT を実行しようとしています。VB 内からプログラムを実行すると、これは正常に機能します。しかし、マニフェストに「UIAccess=true」を追加し、証明書で exe にデジタル署名すると、コードを実行できなくなります。「429: ActiveX コンポーネントはオブジェクトを作成できません: 'myApp.Application'」というプログラムとやり取りしようとすると、エラーが発生します。IDE では正常に動作するのに、UIAccess を使用するアプリケーションでは動作しない理由を知っている人はいますか? コードは次のとおりです。

Dim scriptRunner As New MSScriptControl.ScriptControlClass

scriptRunner.Language = "VBScript"    
scriptRunner.AllowUI = True    
scriptRunner.Timeout = 3000    
scriptRunner.AddCode(scriptStr)

scriptRunner = Nothing 
4

1 に答える 1

0

グーグルで検索すると、このウェブサイトが見つかりました。

それは言う

uiAccess フラグが true に設定されたアプリケーションは、正常に起動するために Authenticode 署名されている必要があります。さらに、アプリケーションはファイル システム内の保護された場所に存在する必要があります。\Program Files\ と \windows\system32\ は、現在、許可されている 2 つの保護された場所です。

IDE が \program Files\ 内にあるため、IDE で動作する可能性がありますが、IDE の外部では、\program files または \windows\system32 内ではなく、署名されたアプリケーションを実行しています。

于 2010-05-18T16:06:08.790 に答える