how can get the path from installer and how set in my app?

3.1k Views Asked by At

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\Cu­rrentVersion\Run");
 rk.SetValue("MyAppName", @"C:\WhereMyAppIs\MyApp.exe");

now how can get the path from installer to set it??? thanks.

2

There are 2 best solutions below

2
On BEST ANSWER

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)

8
On

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);