Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# &引用;用户';“s应用程序数据文件夹”;;是否可以在SpecialFolder.ApplicationData和SpecialFolder.LocalApplicationData之间强制_C#_.net_Deployment_Installation - Fatal编程技术网

C# &引用;用户';“s应用程序数据文件夹”;;是否可以在SpecialFolder.ApplicationData和SpecialFolder.LocalApplicationData之间强制

C# &引用;用户';“s应用程序数据文件夹”;;是否可以在SpecialFolder.ApplicationData和SpecialFolder.LocalApplicationData之间强制,c#,.net,deployment,installation,C#,.net,Deployment,Installation,我有一个需要以正常权限运行的应用程序。因此它安装在Environment.SpecialFolder.ProgramFiles中,但在Environment.SpecialFolder.LocalApplicationData中存储conf/logging/history详细信息 问题是,在安装/部署项目中,在文件系统部分,我无法区分ApplicationData(漫游)或LocalApplicationData,仅区分“用户的应用程序数据文件夹”,这可能取决于谁将其安装在哪台机器上 是否可以强

我有一个需要以正常权限运行的应用程序。因此它安装在Environment.SpecialFolder.ProgramFiles中,但在Environment.SpecialFolder.LocalApplicationData中存储conf/logging/history详细信息

问题是,在安装/部署项目中,在文件系统部分,我无法区分ApplicationData(漫游)或LocalApplicationData,仅区分“用户的应用程序数据文件夹”,这可能取决于谁将其安装在哪台机器上


是否可以强制“用户的应用程序数据”为一个或另一个?

MSI支持本地数据。如果您正在谈论一个安装和部署项目,可能需要切换到另一个安装程序框架,例如。(安装和部署在Visual Studio 2012中不再存在)。WiX有一个名为的工具,可以将MSI转换为WiX XML文件,这样您就可以简单地编辑它们或快速轻松地添加到它们中。

安装项目在visual Studio 2015中卷土重来。 以下内容适用于VS 2015:

  • 在“文件系统”视图中,添加“自定义”类型的特殊文件夹
  • 在此文件夹的属性中,设置以下值:
    • 名称:本地应用程序数据文件夹
    • AlwaysCreate:对
    • 条件:(留空)
    • DefaultLocation:[LocalAppDataFolder]
    • 属性:SOMEPROPERTYNAME
得益于DefaultLocation属性值:[LocalAppDataFolder]。
我认为以下链接中定义的任何系统文件夹变量都应该有效:

为什么这很重要?管理员通常会定义一个环境,该环境将决定是否使用漫游文件夹——在这种情况下,另一种选择可能是访问冲突。因为我想强制它访问本地应用程序数据。我无法控制其他网络管理员的决定。此外,无论管理员做什么,我都必须在代码中指定本地或漫游。“因为你想”不是一个原因。这个问题意味着。ApplicationData有什么问题?“因为我想”=在涉及域用户的情况下,我必须不在网络上复制(可能非常大)应用程序文件。漫游是100%不可选项。您试图让安装程序在LocalApplicationData中执行什么操作?请尝试一下。谢谢