标签: appdata

来自ASP.NET的SVN信息:'无法确定用户的配置路径'

有一个ASP.NET站点,我希望从中执行SVN信息调用.

我的理解是,当用户尚未完成基本设置以使用SVN时,会出现此错误消息.具体来说,AppData下有一个名为Subversion的文件夹,当不存在并正确配置时,会显示上述消息.

ASP.NET站点在"NetworkService"帐户下运行,其AppData文件夹我找不到.我打算复制并粘贴Subversion文件夹,因为要以NetworkService身份进行实际登录并不容易.

如何继续使用NetworkService以便"svn信息"也可以继续?

提前致谢 -

仅供参考:使用SharpSvn作为包装.怀疑是重要的,但你去了

svn asp.net appdata

8
推荐指数
1
解决办法
3125
查看次数

Windows中是否有共享文件夹,非提升用户具有写访问权限?

我知道commonappdata(所有用户)可以保存系统范围的应用程序设置,但在Vista/7下,非提升用户无法写入该目录.

是否存在用户共享的文件夹,任何非管理员用户都可以写入该文件夹?

这就是我需要这个的原因:我的应用程序由具有提升权限的Inno安装程序安装程序安装在PF目录中.然后,当实际的非管理员用户运行程序时,它会使用另一个非提升的Inno安装程序安装程序将其设置复制到用户的AppData目录.卸载程序后(由具有管理员权限的系统范围的安装程序启动)我想从每个用户的AppData目录中卸载程序的文件.

我可以想到两个解决方案:1.获取Windows用户列表并迭代他们的AppData目录(似乎太复杂了)2.在上述公共用户数据目录中存储卸载程序的路径.

有任何想法吗?

谢谢!

windows installer uac inno-setup appdata

7
推荐指数
1
解决办法
3847
查看次数

APPDATA 在默认的 docker-compose.override 文件中在哪里初始化

下面我将展示默认的 docker-compose.override.yml 文件,该文件是在向我的 ASP.NET 应用程序添加编排时为我创建的。这是使用 .NET Core 3.1。我右键单击项目文件 -> 添加 -> Container Orchestrator Support... 然后将 docker-compose 项目添加到我的解决方案中。(显然我在选项中选择了 Docker Compose)。

我想知道变量 APPDATA 在哪里被初始化,以便我可以理解完整路径。我了解卷是如何工作的;我只是想知道APPDATA的初始化方式和位置。

version: '3.4'

services:
  myproject:
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
      - ASPNETCORE_URLS=https://+:443;http://+:80
    ports:
      - "80"
      - "443"
    volumes:
      - ${APPDATA}/Microsoft/UserSecrets:C:\Users\ContainerUser\AppData\Roaming\Microsoft\UserSecrets:ro
      - ${APPDATA}/ASP.NET/Https:C:\Users\ContainerUser\AppData\Roaming\ASP.NET\Https:ro
Run Code Online (Sandbox Code Playgroud)

appdata docker docker-compose

7
推荐指数
1
解决办法
1279
查看次数

为什么在AppData中安装git而不是Program Files?

我从这里在我的Windows 7中安装了GitHub桌面应用程序,然后重新启动了我的笔记本电脑.我转到Windows cmd并键入git clone https://github.com/myName/myAwesomeProject.git然后我就可以了'git' is not recognized as an internal or external command, operable program or batch file..

所以我用Google搜索,发现我必须从这里重新设置PATH .我去了C>Program Files (x86),那里没有Git文件夹.我不知道为什么.我在C里搜索了"Git"并在这里找到了它C:\Users\nerd\AppData\Local\GitHub\PortableGit_c2ba306e536fdf878271f7fe636a147ff37326ad,我把它复制到了我的PATH,重新启动了笔记本电脑并且克隆现在正常工作.

我的问题是,为什么Git安装在该位置而不是Program Files?我做错什么了吗?这会在未来引起问题吗?

git installation github appdata github-desktop

6
推荐指数
2
解决办法
7349
查看次数

Windows:哪些文件夹始终提供写入权限?

这个问题真的很清楚。

哪些(Windows-)文件夹始终具有写入权限?

因此,我需要找到一个在任何系统上对任何应用程序始终具有写入权限的文件夹。

目前我使用%AppData%,但我收到一些用户的通知,该路径没有写入权限(尤其是在公共计算机上)。

windows directory permissions rights appdata

6
推荐指数
1
解决办法
2万
查看次数

Visual Studio 2017 占用本地 AppData 文件夹中的磁盘空间

运行 TreeSize Free 后,我发现 Visual Studio 正在占用 C:\Users\{Me}\AppData\Local\Microsoft\VisualStudio 文件夹中的磁盘空间......特别是在 WebTools\ChromeUserDataXXX\Default\Extensions 中。

有谁知道这些是做什么用的,为什么它们这么大(> 11GB),以及我是否可以安全地删除它们或更改一些设置,这样就不会存储那么多?

谢谢!

在此处输入图片说明

diskspace appdata visual-studio

6
推荐指数
1
解决办法
2992
查看次数

既然 Storage Sense 可以随时清理 %TEMP% 文件夹,为什么还要使用它呢?

从 Windows 10 开始,Storage Sense 允许用户指定%TEMP%文件夹清理频率为每天一次。从技术上讲,如果将其设置为在磁盘空间不足时激活,它可以更频繁地运行,具体取决于用户的磁盘使用模式。

鉴于此,这样做的意义何在?%TEMP%文件夹的意义何在?我如何使用一个文件夹,让我放在那里的每个文件在技术上可以在我完成写入后立即被系统删除?

这是一个真实的场景,这让我印象深刻(为简洁起见,简化了代码):

var ffmpegPath = Path.Combine(Path.GetTempPath(), "ffmpeg");
DownloadFfmpeg(path: ffmpegPath); 

foreach (var videoFile in videoFiles) { //suppose there are dozens of files to process
   DoSomeHeavyProcessing(ffmpegPath);   //suppose each file takes an hour to process
}
Run Code Online (Sandbox Code Playgroud)

这在最初的几个小时内效果很好,但随后在某个任意时间点,下载的ffmpeg文件夹被删除,并且无法处理所有后续文件。事实上,如果我理解正确的话,理论上即使是这样的代码也可能会失败:

var path = Path.Combine(Path.GetTempPath(), "foo");
File.WriteAllText(path, "bar");
Console.WriteLine(File.ReadAllText(path));
Run Code Online (Sandbox Code Playgroud)

现在,我知道如何解决这个问题 - 只需使用%APPDATA%,%LOCALAPPDATA%%PROGRAMDATA%。但这就是重点 - 自从 Storage Sense 出现以来,为什么我会使用%TEMP%而不是以前的文件夹?

programdata temp appdata windows-10

6
推荐指数
1
解决办法
2291
查看次数

特定用户的 SHGetFolderPath()

我正在寻找一种获取特定用户的本地应用程序数据文件夹的好方法,而无需输入该用户的登录详细信息。

SHGetFolderPath()可以接受我想要获取其本地 appdata 文件夹的任何用户的访问令牌,但要获取访问令牌,您必须提供用户的密码。另外,根据文档,<= Windows 2000 不支持此功能。

注册表项HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell 文件夹包含 AppData 值,其中包含当前用户的本地 appdata 文件夹的位置...因此我可以在技术上为特定用户安装 HKCU 配置单元并访问该值;然而,微软似乎强烈反对使用这个密钥,而且我听说它有时也会不准确。

具有讽刺意味的是,在 Windows 上,管理员帐户可以轻松访问和修改任何用户的 appdata 文件夹中的所有数据,只要他们打开资源管理器并浏览到正确的位置...但似乎没有一种简单的方法可以以编程方式获取特定用户的 appdata 文件夹的位置。

那么我还有其他选择吗?现在,访问注册表(喘息)似乎是最好的选择,但如果可能的话,我想使用官方的东西,并且微软不会阻止。

任何建议,将不胜感激。

registry application-data appdata

5
推荐指数
1
解决办法
3218
查看次数

应用程序无法写入%APPDATA%(但用户可以)

我有一个应用程序需要在用户的%APPDATA%目录中创建其设置目录.为此,它使用类似于以下的代码:

std::string appDataBase = getenv("APPDATA");
std::string appDir = appDataBase + "\\MyDir";

std::cerr << "About to invoke _mkdir(" << appDir << ")" << std::endl;
int rv = _mkdir(appDir.c_str());
std::cerr << "_mkdir returned " << rv << ", errno = " << errno << std::endl;
Run Code Online (Sandbox Code Playgroud)

但是,当此代码运行时,_mkdir调用失败并errno设置为EACCES:

About to invoke _mkdir(C:\Users\mdm\AppData\Roaming\MyDir)
_mkdir returned -1, errno = 13
Run Code Online (Sandbox Code Playgroud)

我会假设这是一个简单的权限问题,除了(1)我可以在资源管理器中手动创建目录而没有任何权限问题,以及(2)如果我将它复制到项目中,完全相同的代码工作正常本身.

我已经广泛搜索了有关此问题的信息,但只能找到一般权限问题的讨论,例如用户无法使用资源管理器访问/写入此文件夹.如果我以管理员身份运行我的应用程序中的代码,那么显然它的权限有些奇怪,但我不知道还有什么要检查.我已经使用Process Explorer进行了检查,并确认应用程序正在使用我的用户帐户运行,该帐户具有对%APPDATA%目录的完全写入权限,并且我已确保%APPDATA%树未设置为隐藏或只读.

是否有某种"有效用户ID"或"有效权限"可以在Windows应用程序上设置,这可能取决于构建配置或流程初始化中的某些内容?是否还有其他因素阻止某个特定应用程序写入%APPDATA%,而其他用户进程可以?

更新

进一步的调查表明,行为的差异与代码的内容无关,而是与文件系统中的可执行文件位置有关.我的应用程序是从Development我的用户目录中的文件夹内的源树构建的,并且_mkdir该目录中的可执行文件的调用失败; 但是,将.exe文件复制到新目录C:\Development允许它正常工作(尽管不移动现有Development目录).简单的测试程序在里面Documents\Visual …

windows winapi appdata visual-c++

5
推荐指数
1
解决办法
4962
查看次数

具有Windows服务的WRITE权限和其他应用程序的READ权限的文件夹

我想从Windows服务写入一些文件,并能够从其他应用程序读取它们。但我不希望其他应用程序能够写入此文件夹。

是否有一个标准的文件夹(例如有App Data用于存储不必从其他应用程序读取的数据)?

.net c# windows-services appdata

5
推荐指数
1
解决办法
1964
查看次数