2

Visual Studio 2012 と Visual Basic .NET を使用してアプリケーションをビルドしています (Windows 7 を使用)

現在、インストール パッケージをビルドしており、別の PC にインストールしてプログラムをテストしています。

アプリで txt ファイルを作成しているときに、「パス 'C:\' へのアクセスが拒否されました」というエラーが表示されました。

サブアカウントを使用してアプリケーションを実行していたことを知っています。

管理者として実行すると、正常に動作していました。ただし、プログラムは管理者アカウントを使用せずにアプリケーションを実行できる必要があります。

これらは、これまでにこの問題を解決しようとしたものです。

まず、「C:\Program file\My App」のように、「Program file folder」内のファイルを書き込む場所を変更します。

しかし、うまくいきませんでした

第二に、私は変えようとしていた

 <requestedExecutionLevel  level="asInvoker" uiAccess="false" />

 <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

app.config で

ただし、「requireAdministrator」に置き換えた後、コンパイルエラーが発生します

ClickOnce does not support the request execution level 'requireAdministrator'.  WindowsApplication2

3 番目に、[コンピューター] -> [マネージャー] -> [サービス] -> [アプリケーション エクスペリエンスを有効にする] に移動しました。

しかし、うまくいきません。

この問題に対して何をすべきか本当にわかりません。

誰かが解決策を知っていますか?

ありがとう

4

1 に答える 1

2
Dim UserAccount As String = "<user here>" 'Specify the user here
Dim FolderInfo As IO.DirectoryInfo = New IO.DirectoryInfo("path")
Dim FolderAcl As New DirectorySecurity
FolderAcl.AddAccessRule(New FileSystemAccessRule(UserAccount, FileSystemRights.Modify, InheritanceFlags.ContainerInherit Or InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow))
FolderAcl.SetAccessRuleProtection(False, False)
FolderInfo.SetAccessControl(FolderAcl)

追加する必要があることに注意してください: Imports.System.Security.AccessControl

ちなみに、ここから取得しました:作成時にフォルダーにフルアクセスを付与して、その人にクレジットが渡されるようにします。(Jacques Bronkhorst) これで問題が解決することを願っています :)

于 2015-10-17T01:32:19.377 に答える