基本上,我创建了一个 Visual Studio 安装程序项目。我在我的项目中添加了一个主要输出,这很棒,因为它自动为我加载了依赖项和文件。我面临的问题是我希望能够将我的配置文件标记为隐藏文件,但似乎无法弄清楚如何。
当我去查看>文件系统它列出:
MyExternalAssembly.dll MyProject 的主要输出(活动)
那么,如果我添加一个主输出项目而不是单个文件,有没有办法在安装过程中将我的配置文件实际标记为隐藏?
基本上,我创建了一个 Visual Studio 安装程序项目。我在我的项目中添加了一个主要输出,这很棒,因为它自动为我加载了依赖项和文件。我面临的问题是我希望能够将我的配置文件标记为隐藏文件,但似乎无法弄清楚如何。
当我去查看>文件系统它列出:
MyExternalAssembly.dll MyProject 的主要输出(活动)
那么,如果我添加一个主输出项目而不是单个文件,有没有办法在安装过程中将我的配置文件实际标记为隐藏?
我不确定你是否真的想隐藏它。如果您担心用户会看到它,那么普通用户会知道如何取消隐藏并四处偷窃。因此,话虽如此,如果您想让用户看不到配置中的内容,则需要对配置进行加密。一个很好的例子可以在这里找到:
http://www.davidhayden.com/blog/dave/archive/2005/11/17/2572.aspx
如果您仍然想隐藏配置,那么您可以在应用程序第一次运行后尝试隐藏它。使用:ApplicationDeployment.IsNetworkDeployed && ApplicationDeployment.CurrentDeployment.IsFirstRun
通过单击一次应用程序,您可以判断这是否是第一次运行应用程序。
然后,您可以使用File.SetAttributes(path, File.GetAttributes(path) | FileAttributes.Hidden);
实际隐藏 app.config。
这将导致:
if (ApplicationDeployment.IsNetworkDeployed && ApplicationDeployment.CurrentDeployment.IsFirstRun)
{
File.SetAttributes(path, File.GetAttributes(path) | FileAttributes.Hidden);
}