我正在使用 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>
此致
答案 0 :(得分:2)
如果您的加载项在EA中运行,那么您应该能够使用类似
的内容获取正确的目录System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase );
或
System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetEntryAssembly().Location);
或其变体
请确保您以某种方式获得您感兴趣的装配,并通过Reflection获取其位置。