在SharpDevelop中找到安装路径

时间:2015-04-24 04:23:51

标签: c# enterprise-architect sharpdevelop

我正在使用 SharpDevelop ,但是在我安装了我的应用程序之后,特别是对于Enterprise Architect,我需要知道用户通过设置过程选择的位置在哪里,因为它对于我可以通过我的加载项(MyApp)读取一些数据,这些数据在用户安装我的工具时已经安装在目标路径中。

我尝试在安装步骤中添加一些RegKeys,但是我无法保持路径,因为基本上用户可以轻松地更改路径..

            <Component Id="setuppath" Guid="FF2212C1-9374-5167-9E1F-3086284BED66" >
                <RegistryKey Root="HKLM" Key="Software\Sparx Systems\DrawUML3D" Action="createAndRemoveOnUninstall">
                    <RegistryValue Type="string" Value="1000" />
                </RegistryKey>
            </Component>

此致

1 个答案:

答案 0 :(得分:2)

如果您的加载项在EA中运行,那么您应该能够使用类似

的内容获取正确的目录
System.IO.Path.GetDirectoryName( 
      System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase );

System.IO.Path.GetDirectoryName(
      System.Reflection.Assembly.GetEntryAssembly().Location);

或其变体

请确保您以某种方式获得您感兴趣的装配,并通过Reflection获取其位置。