使用Visual Studio安装项目设置安装路径注册表项(Set InstallPath regi

2019-07-30 13:11发布

我部署使用MSI安装程序设计与Visual Studio安装项目我的应用程序。 如何设置一个注册表项应用程序的安装路径?

Answer 1:

这样做的一个方法是创建一个在您安装自定义操作。 在自定义操作,你可以提供CustomActionData“/ PATH =” [TARGETDIR] *”。在您的自定义操作代码,你可以参考Context.Parameters [‘路径’],并接收来自安装在你的.NET代码通过安装路径。

现在,你有[TARGETDIR]您的自定义操作代码中,你可以继续使用的Microsoft.Win32命名空间来设置注册表项。

HTH - 威尔



Answer 2:

其实,当我在寻找同样的东西以下解决方案还提到:

在注册表键使用[TARGETDIR]。



Answer 3:

我想补充到把[TARGETDIR]在注册表项值。 如果您正在使用vs2012使用[INSTALLDIR]相反在注册表键安装屏蔽。



Answer 4:

  1. 按照此步骤:
  2. 添加一个类库项目到配置方案。
  3. 添加安装文件到您的类库项目。
  4. 创建类库项目添加到您的设置应用程序文件夹
  5. 添加创建的项目安装程序文件(在设置自定义操作窗口)“安装”子树项目。

  1. 点击添加项目,按F4打开属性窗口。
  2. 上属性窗口集 “/ PDIR =”[TARGETDIR] \”到CustomActionData。

  1. 在安装程序文件(在类库项目)写的后续代码写入安装路径到注册表中。

      Public Overrides Sub Install(ByVal stateSaver As System.Collections.IDictionary) MyBase.Install(stateSaver) Dim regsrv As New RegistrationServices regsrv.RegisterAssembly(MyBase.GetType().Assembly, AssemblyRegistrationFlags.SetCodeBase) '--------- adding installation directory to stateSaver ---------- stateSaver.Add("myTargetDir", Context.Parameters("pDir").ToString) End Sub 
      公共覆盖子提交(BYVAL savedState作为System.Collections.IDictionary)      MyBase.Commit(savedState)      '' 的MessageBox.show( “萨拉姆”)      暗淡InstallAddress作为字符串= savedState( “myTargetDir”)。的ToString      暗淡REGKEY作为的RegistryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey( “软件\ pourab \ Sanjande”,真)      regKey.SetValue( “InstalledFolder”,InstallAddress) 


文章来源: Set InstallPath registry key using Visual Studio Setup project