C#path.getfullpath()首次安装首次运行时相对路径转绝对路径错误问题
昨天把新写的软件丢到win10.1511版上安装,发现首次安装并且首次运行时一直无法启动程序,第二次启动就没问题。进行了大量测试之后发现错误出现在path.getfullpath()方法上。首次运行给出的地址在根目录的一个文件夹下而并不是在根目录。
解决方法也很简单,废弃path.getfullpath(),转而使用
Assembly Asm = Assembly.GetExecutingAssembly();
path = Asm.Location.Substring(0, (Asm.Location.LastIndexOf('\\'))) +"\\"+ ConfigurationManager.AppSettings["relativePath"];
然后运行一切正常。
后记:后来发现实际问题是在nsis中SetOutPath不对...快捷方式的起始位置多了一层文件夹...