开发者

How to detect the install directory of a project?

开发者 https://www.devze.com 2023-02-15 04:07 出处:网络
I have a Visual studio C# project and I have an installer that installs the files into whatever directory the user specifies. I also h开发者_运维问答ave another installer with localized language resou

I have a Visual studio C# project and I have an installer that installs the files into whatever directory the user specifies. I also h开发者_运维问答ave another installer with localized language resources and I want that to be installed in the aforementioned directory.

Can anyone point me in the right direction on this? I think I have to do something with registry keys but I don't know what to do.

Edit: For the record, I found this page: How to: Use a Registry Launch Condition to Specify a Target Directory. And I followed the instructions and it did what I wanted it to do.


Typically, you would create a registry subkey and value of HKEY_LOCAL_MACHINE\SOFTWARE\ and then just read that key back in your second installer to decide where to put that.

Something like HKLM\SOFTWARE\MyApplication,

Then you make a string value called InstallPath and write the path from your first installer there.

Depending on what you're doing, you may want to have a look at merge modules for installing several components with one MSI.


You are on the right track. Your first installer would write it's install path to a well known registry key. The second installer would read the path from that well known key and put it's dlls in the appropriate sub folders.


Here is one way to go at it:

Assembly a = Assembly.GetExecutingAssembly();

string folder = System.IO.Path.GetDirectoryName(a.CodeBase);
0

精彩评论

暂无评论...
验证码 换一张
取 消