【发布时间】:2010-02-18 23:16:41
【问题描述】:
我一直在搜索 Google,试图找到合适的方法来确定用户从安装向导中选择的安装路径。
基本上我遇到了一个问题,我的服务无法在它自己的目录中创建文件,因为它缺乏适当的权限。我假设解决此问题的正确方法是确保服务使用的任何帐户都被授予对其文件夹的适当文件权限。
但在我解决如何通过 .Net 设置权限之前,我需要知道安装文件夹。我正在使用一个安装项目,它有一个 Installer 类,其中还包含一个 ServiceInstaller 控件。两者都具有Context 属性,因此我一直在检查每个安装程序的 AfterInstall 事件触发时可用的参数。起初我以为我会看到 TargetDir 属性集,但事实并非如此。但是,我看到 AssemblyPath 设置并指向相应文件夹的可执行文件。
基本上我只是想确保这是我应该使用的适当方法:
private void ProjectInstaller_AfterInstall(object sender, InstallEventArgs e)
{
string InstallPath = System.IO.Path.GetDirectoryName(serviceInstaller1.Context.Parameters["AssemblyPath"]);;
}
【问题讨论】:
标签: visual-studio-2008 windows-services installation