Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1302880220
loki3d
2011-04-15 19:10
2011.07.24
передача большого файла через Socket


11-1230465048
p.s.
2008-12-28 14:50
2011.07.24
Нестандартная форма (Форма окна по bmp)


2-1303300293
jacksotnik
2011-04-20 15:51
2011.07.24
Непонятки с кодировкой


15-1302075725
Loginov Dmitry
2011-04-06 11:42
2011.07.24
Windows Server 2008 - как избавиться от UserProfile WINDOWS


2-1303387690
PiterPen
2011-04-21 16:08
2011.07.24
Показать окно





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский