3

我正在编写一个 win 应用程序,现在我想为我的应用程序进行设置,我的代码是:

Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\Cu­rrentVersion\Run");
 rk.SetValue("MyAppName", @"C:\WhereMyAppIs\MyApp.exe");

现在如何从安装程序中获取路径来设置它???谢谢。

4

2 回答 2

2

如果你使用 Visual Studio,你可以右键点击安装项目 -> 查看 -> 注册表,然后设置你喜欢的注册表项。

看看这个网站:

msi - 设置 InstallPath 注册表项

注册表设置管理 (MSDN)

于 2011-03-07T10:02:58.397 回答
0

如果它是使用 Windows 安装程序(.MSI 文件)安装的,则可以使用MsiGetComponentPath API:

    [DllImport("msi.dll", CharSet = CharSet.Unicode)]
    private static extern int MsiGetComponentPath(string szProduct, string szComponent, StringBuilder lpPathBuf, ref int pcchBuf);

像这样称呼它:

int len = 256;
StringBuilder sb = new StringBuilder(len);
MsiGetComponentPath(productCode, componentId, sb, ref len);
于 2011-03-07T08:43:17.373 回答