Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.07.24;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.011 c
15-1302270628
Galera
2011-04-08 17:50
2011.07.24
Медленный поиск у RxMemoryData


2-1303316751
Лариса
2011-04-20 20:25
2011.07.24
Много вопросов по StringGrid


15-1302080998
oldman
2011-04-06 13:09
2011.07.24
Windows7 и DOS-окна


2-1302772191
Учусь
2011-04-14 13:09
2011.07.24
Inno Setup и папки юзера


2-1302860093
MrBadge
2011-04-15 13:34
2011.07.24
Char в Word