내 프로젝트에서 다음을 사용하여 Project bin \ debug 디렉토리 (bin \ debug \ fichiers)의 "Ficheirs"폴더에 Excel 파일을 저장하는 지침이 있습니다. Directory.GetCurrentDirectory() + "\ Fichiers"로 경로 설정 그게, 설정을 만들기 전에 잘 작동 그러나 inno 설치 컴파일러를 사용하여 설치 프로그램을 만든 다음 설치 프로그램을 만들 때 "Ficheirs"폴더를 추가하면 프로그램이 작동하지 않습니다. 내 프로그램이 저장을 유지하도록 수정하는 방법 그 폴더에 내 엑셀 파일?Inno setup Compiler로 설정을 생성 한 후 (app 디렉토리 내부의) 디렉토리에 파일을 저장할 때 프로그램이 멈 춥니 다?
답변
Directory.GetCurrentDirectory() + "\Fichiers"
이 디렉토리 경로를 설정하는 매우 신뢰할 수없는 기능입니다. 테스트를 거치지 않고 응용 프로그램은 GetCurrentDirectory()
을 요구할 때 다른 디렉토리에서 작동 할 수 있습니다.
설정의 작업 디렉토리가/앱이 순간에 당신이 실행 예를 들어 GetCurrentDirectory()
- 앱
- 앱 \ 빈 \ \
- 앱 \ 빈 \ 디버그 \
,
GetCurrentDirectory()+ "\Fichiers"
반환
- D : \ 프로그램 \ 응용 프로그램 \ Fichiers
- D : \ 프로그램 \ 응용 프로그램 \ 빈 \ Fichiers
- D : \ 프로그램 \ 응용 프로그램 \ 빈 \ 디버그 \의 Fichiers
[Dirs]
Name: "{app}\bin"
Name: "{app}\bin\debug"
Name: "{app}\bin\debug\Fichiers"
: 당신은 필요한 모든 DIRS 다음은 설치시 강제적으로
는 [DIRS] 섹션의 예입니다 당신이 어디에 프로그램 블록을 아는 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);
..............
설정 ISS을 쓰기 전에
[Code]
var
excelPath : String;
..............
excelPath := ExpandConstant('{app}\bin\debug\Fichiers');
감사합니다. [Dirs] 섹션이 작동했습니다. – Elba
그것은 [Dirs]를 도왔습니다. 그럼에도 불구하고'GetCurrentDirectory()'를 사용하여 경로를 생성하면 안됩니다. 대신에'Application.StartupPath'를 사용하십시오. –
는 로그를 추가 하시겠습니까? 나는 그것이 허가 문제라고 생각할 것이다. Btw. Paths를 수동으로 연결하는 대신 Path.Combine()을 사용하는 것이 좋습니다. – Philippe
어디서 프로그램을 설치합니까? –
"중지"및 "작동하지 않음"이란 무엇을 의미합니까? 구체적으로 말하십시오! 그것은 무엇을합니까? –