2013-07-11 9 views
10

Mój zestaw utworzony za pomocą Inno Setup instaluje moją aplikację pod numerem C:\Program Files\MyApp.Ustawienia Inno - Jak ustawić pełne uprawnienia do folderu, nie tylko do jego zawartości

Kiedy moja aplikacja się uruchamia, próbuje utworzyć nowe pliki dziennika w C:\Program Files\MyApp\logs\, ale zawiedzie.

W moim scenariuszu Inno Mam następujące ustawienia:

[Dirs] 
Name: "{app}"; 

[Files] 
Source: logs\*; DestDir: {app}\logs\; Flags: ignoreversion recursesubdirs createallsubdirs; Permissions: everyone-full 

To daje pełne uprawnienia do wszystkich plików wewnątrz logs folderu, ale nie na samym folderze. Tak więc, gdy moja aplikacja próbuje utworzyć nowy plik dziennika w tym folderze, nie powiedzie się.

W jaki sposób ustawić pełne uprawnienia do folderu, nie tylko na istniejących w nim plikach?

+1

Sieć [ 'sama jak here'] (http://stackoverflow.com/questions/17580222/creating -folder-for-log-files-for-nlog-with-innosetup # comment25581266_17580222) dotyczy ciebie. – TLama

+1

@TLama dzięki za link, spróbuję go i wrócę z wynikami – Cornelia

+0

Jeśli to możliwe, unikaj używania pełnych uprawnień i używaj modyfikacji. – amalgamate

Odpowiedz

11

Ustawianie uprawnień dla logs folderu w sekcji [katalogi] pracował dla mnie:

[Dirs] 
Name: "{app}"; 
Name: "{app}\logs"; Permissions: everyone-full 

[Files] 
Source: logs\*; DestDir: {app}\logs\; Flags: ignoreversion recursesubdirs createallsubdirs; Permissions: everyone-full 

Ale, jak w this post, nie jestem pewien, czy to jest właściwy sposób to zrobić.

+0

Nie działa dla mnie –

+0

Każdy-pełny jest może za dużo, z dokumentu wygląda na to, że użytkownicy-modyfikacja jest wystarczająca. http://www.jrsoftware.org/ishelp/index.php?topic=dirssection http://www.jrsoftware.org/ishelp/index.php?topic=filessection –

3

prostu stosując następujący kod działa dla mnie i myślę, że jest bardziej zabezpieczone:

[Dirs] 
Name: "{app}\logs"; Permissions: users-full