在我的项目中,我有说明将Excel文件保存在项目bin\debug目录(bin\debug\fichiers)内名为"Ficheirs"的文件夹中,使用:Directory.GetCurrentDirectory() + "\Fichiers"将路径设置为该路径,它在创建安装程序之前运行良好 但是在使用inno Setup Compiler创建安装程序后,并最终在创建安装程序时添加文件夹" Ficheirs",我的程序不起作用 如何解决这个问题,以便我的程序继续将我的 excel 文件保存在该文件夹中?
Directory.GetCurrentDirectory() + "Fichiers"
这是一个非常不可靠的函数来设置目录的路径。 无需测试,应用程序可以在您请求GetCurrentDirectory()
时在不同的目录中工作。
例如,在您运行GetCurrentDirectory()
时设置/应用程序的工作目录
- 应用\
- 应用\箱\
- 应用\bin\调试\
GetCurrentDirectory()+ "Fichiers"
回报
- D:\Programs\App\Fichiers
- D:\Programs\App\bin\Fichiers
- D:\Programs\App\bin\debug\Fichiers
您应该强制安装所有需要的目录 下面是 [Dirs] 部分的示例:
[Dirs]
Name: "{app}bin"
Name: "{app}bindebug"
Name: "{app}bindebugFichiers"
在 C#
编写之前进行测试
try
{
// Set the current directory.
string target = Application.StartupPath + "\bin\debug\Fichiers";
if (!Directory.Exists(target))
{
Directory.CreateDirectory(target);
}
// Change the current directory.
Environment.CurrentDirectory = (target);
..............
设置是
[Code]
var
excelPath : String;
..............
excelPath := ExpandConstant('{app}bindebugFichiers');