Форум: "Начинающим";
Текущий архив: 2011.07.24;
Скачать: [xml.tar.bz2];
ВнизInno Setup и папки юзера Найти похожие ветки
← →
Учусь (2011-04-14 13:09) [0]Как заставить Inno Setup распаковать некоторые файлы в папку юзера:
c:\Users\Имя Юзера\AppData\Local\Папка моего приложения
Чот разбирая со словарем хельп Inno Setup-а так и не увидел в нем этого. Помогите?
← →
Dennis I. Komarov © (2011-04-14 14:53) [1]Есть такие штуки, переменными среды именуются
← →
Dennis I. Komarov © (2011-04-14 14:59) [2]И еще API функция, не помню как ее, но гугля должен знать...
← →
Учусь (2011-04-14 15:12) [3]Вот что, среди прочего, выдает гугля:
; Данный скрипт позволяет получить путь к стандартным папкам Windows
;
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[Code]
const
MAX_PATH = 260;
// ниже приведён список id папок, путь которой хотим получить...
// дальше длииный список, я его сократил до того что мне нужно:
// Папка, в которой рограммы должны хранить свои данные(C:\Documents and Settings\username\Application Data)
CSIDL_APPDATA = $001a;
// AppData для приложений, которые не переносятся на другой компьютер (обычно C:\Documents and Settings\username\Local Settings\Application Data)
CSIDL_LOCAL_APPDATA = $1c;
function SHGetSpecialFolderPath(hwndOwner: HWND; lpszPath: PChar; nFolder: Integer; fCreate: BOOL): BOOL;
external "SHGetSpecialFolderPathA@shell32.dll stdcall";
function GetSpecialPath(CSIDL: Word): string;
var
s: string;
begin
SetLength(s, MAX_PATH);
if not SHGetSpecialFolderPath(0, PChar(s), CSIDL, True) then s := "";
Result:= PChar(s);
end;
procedure InitializeWizard;
begin
// определим расположение папки "Мои рисунки"
MsgBox(GetSpecialPath(CSIDL_MYPICTURES), mbInformation, MB_OK);
end
Но терзают меня смутные сомнения - может всетаки должны быть в нем стандартные константы?
← →
Dennis I. Komarov © (2011-04-14 15:25) [4]А просто %APPDATE%\bla-bla не канает?
← →
Учусь (2011-04-14 17:00) [5]неа
← →
Учусь (2011-04-14 17:24) [6]Пытаюсь использовать вышеупомянутый код в создании инсталлятора так:
[Files]
Source: "D:\my_coding\Free\build\myres1.dll"; DestDir: GetSpecialPath(CSIDL_LOCAL_APPDATA); Flags: ignoreversion
Не работает:(
Разве так нельзя - в переменную DestDir результат функции GetSpecialPath(CSIDL_LOCAL_APPDATA); ?
А как тогда сделать? Помогите плис.
← →
Германн © (2011-04-14 17:34) [7]{userappdata} не то?
← →
clickmaker © (2011-04-14 17:40) [8]> DestDir: GetSpecialPath(CSIDL_LOCAL_APPDATA); Flags: ignoreversion
>
> Не работает:(
а можно так прямо вызывать функции?
← →
Германн © (2011-04-14 17:48) [9]
> Чот разбирая со словарем хельп Inno Setup-а так и не увидел
> в нем этого. Помогите?
Облегчи себе жизнь. Скачай и установи InnoIDE http://www.innoide.org/
← →
Учусь (2011-04-14 17:54) [10]
> {userappdata} не то?
Попробовал, и не могу найти куда он длл-ку распаковал:(
Тут:
c:\Users\Имя Юзера\AppData\Local\Папка моего приложения
ее нет:(
> а можно так прямо вызывать функции?
Не знаю. Вроде не ругается. А как там, в скрипте, можно объявить переменную? Чтобы сначала в нее результат функции, а потом ее в скрипт?
← →
Учусь (2011-04-14 17:56) [11]
> Облегчи себе жизнь. Скачай и установи InnoIDE http://www.
> innoide.org/
Да это наоборот усложнит:) Мне надо то одну дллку распаковать правильно и все. И затык в одной переменной. Щас, разберусь с вашей помощью и сделаю:)
← →
Германн © (2011-04-14 18:00) [12]А что это за папка?
> c:\Users\
← →
Учусь (2011-04-14 18:01) [13]
> > c:\Users\
Это в семерке. Аналог ХР - C:\Dcuments and Settings\
← →
Учусь (2011-04-14 18:16) [14]Нашел русский хельп на Inno Setup и в нем нашел что мне нужно:
{localappdata}
Путь к локальной папке приложения.
Конечно, в такой программе должны быть все нужные константы, и не стоило сомневаться, а стоило лучше учить английский:)
Благодарю всех, кто откликнулся:)
← →
имя (2011-04-15 05:31) [15]Удалено модератором
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.07.24;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.002 c