问题
i am writing a win app and now i want to make setup for my app,my code is:
Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
rk.SetValue("MyAppName", @"C:\WhereMyAppIs\MyApp.exe");
now how can get the path from installer to set it??? thanks.
回答1:
If you use Visual Studio, you can right click on the setup project -> View -> Registry and then set the registry key you like.
Check out this sites:
msi - Set InstallPath registry key
Registry Settings Management (MSDN)
回答2:
If it was installed using Windows Installer (.MSI files), you can use the MsiGetComponentPath API:
[DllImport("msi.dll", CharSet = CharSet.Unicode)]
private static extern int MsiGetComponentPath(string szProduct, string szComponent, StringBuilder lpPathBuf, ref int pcchBuf);
Call it like this:
int len = 256;
StringBuilder sb = new StringBuilder(len);
MsiGetComponentPath(productCode, componentId, sb, ref len);
来源:https://stackoverflow.com/questions/5217478/how-can-get-the-path-from-installer-and-how-set-in-my-app