MacBuster (Registered Developer)
2003/06/21 13:00
|
|
> Дык можно сделать вотанавлювающий батничек:)
Какой батничек ? Ты не понял: мы говорим лишь о структуре, каталоги не имеют абсолютной привязки, все пути к ним отноcительные. Так что необходимо написать полноценную программу, которая бы выводила названия переменных (и ассигнов) и предлагала указать путь для каждого из них. Кроме этого можно сделать автоматический поиск по всему винту для тех, кто мало понимает что, куда и зачем.
|
cr0acker (enthusiast)
2003/06/21 14:35
|
|
Я понял! Есть некая переменная среды указывающая на путь к каталогу:) Переменные вроде можно и батниском ставить:)
|
MacBuster (Registered Developer)
2003/06/23 09:49
|
|
> Переменные вроде можно и батниском ставить :)
Ничего ты не понял. У каждого пользователя рабочие каталоги могут находиться в РАЗНЫХ местах, как ты их собираешься ставить в .bat-файле не зная заранее их расположения ?
|
cr0acker (enthusiast)
2003/06/23 10:08
|
|
Через параметры:)
|
MacBuster (Registered Developer)
2003/06/23 10:32
|
|
> Через параметры:)
Нет слов. Лучше прекратим этот разговор и вернёмся к обсуждению структуры каталогов.
|
cr0acker (enthusiast)
2003/06/23 16:24
|
|
Я чё тут обсухдать то:)
|
Denis Parinov (Sprinter Team)
2003/06/25 02:56
|
|
>> Переменные вроде можно и батниском ставить :)
> Ничего ты не понял. У каждого пользователя рабочие каталоги могут находиться в РАЗНЫХ местах, как ты их собираешься ставить в .bat-файле не зная заранее их расположения ?
Вы помойму о разном говорите. Программисту и не нужно знать где у юзера чего лежит, это должно быть прописано при старте системы. Нужно лишь согласовать имена этих переменных и необходимые каталоги.
А сделать можно что-то вроде этого. ;-)
===========system.bat==============
@echo off
echo Please logon:
input.exe USERNAME Input your name:
system.exe /c %USERNAME%.bat
===========system.bat==============
-----------vasya.bat-------------
SET HOSTDRIVE=C:\VASYA
SET SOFTWARE=%HOSTDRIVE%\Apps
SET USERDATA=%HOSTDRIVE%\MyFiles
SET SYSDIR=%HOSTDRIVE%\SYSTEM
SET DRIVERS=%SYSDIR%\Drivers
SET FONTS=%SYSDIR%\Fonts
SET LIBRARY=%SYSDIR%\Libs
SET LICENSE=%SYSDIR%\Licenses
SET LOCALE=%SYSDIR%\Locales
SET LOG=%SYSDIR%\Logs
SET REGKEYS=%SYSDIR%\Reg-Keys
SET STARTUP=%SYSDIR%\StartUp
--------------------------------
|
MacBuster (Registered Developer)
2003/06/25 12:07
|
|
> Вы помойму о разном говорите.
Мне тоже так кажется.
> Программисту и не нужно знать где у юзера чего лежит
Совершенно верно, программисту только надо вместо абсолютного пути указать стандартный ассигн. Например, вместо "C:\System\Libs\" надо написать "Libs:". А где уж эти библиотеки лежат на самом деле (хоть в "X:\MySyztem\System\Shared\Libs\") ему вовсе незачем знать.
> Нужно лишь согласовать имена этих переменных и необходимые каталоги.
Именно.
|
Denis Parinov (Sprinter Team)
2003/06/26 01:20
|
|
+----------------+-------------------------------+
Variable : Default directory
+----------------+-------------------------------+
SOFTWARE : C:\SOFTWARE
SETTING : C:\SOFTWARE\SETTING
LICENSE : C:\SOFTWARE\SETTING\LICENSE
USERDATA : C:\MYFILES
LIBS : C:\LIBRARY
LOGS : C:\LOGS
TEMP : C:\TEMP
+----------------+-------------------------------+
Я тут подумал и мне кажется список можно сократить до примерно такого.
Дело в том, что возможность приложения самостоятельно, без разрешения пользователя ставить какие-то шрифты, драйвера и т.п. вещи, связанные с записью в системные каталоги, мне не очень нравиться. :) Надо чтобы как минимум была возможноть спросить пользователя "А оно ему надо?". Соответственно подобные операции лучше делать через API, а не прямым копированием в каталог.
|
MacBuster (Registered Developer)
2003/06/26 09:45
|
|
> Я тут подумал и мне кажется список можно сократить до примерно такого.
К вопросу о привязке к абсолютным путям ;) Я не хочу захламлять
корневой каталог. Кроме того на мой взгляд такая структура не логична.
Logs, Libs и Temp куда уместнее расположить внутри каталога Software.
> Дело в том, что возможность приложения самостоятельно, без разрешения
> пользователя ставить какие-то шрифты, драйвера и т.п.
О самостоятельности речь не идёт.
> Надо чтобы как минимум была возможноть спросить пользователя "А оно
> ему надо?".
Т.е. при установке и настройке текстового процессора, пользователь
должен будет думать о том стоит ли ему ставить шрифты, или поставить
всё кроме них, и удивляться куда его этот процессор посылает после
попытки открыть файл в котором используется стандартный, но не
установленный пользователем шрифт ? ;)
> Соответственно подобные операции лучше делать через API, а не прямым
> копированием в каталог.
Есть специальный класс программ предназначенный для установки ПО. К
примеру амижный Installer. Его задача проверить наличие устанавливаемых
компонентов, их версии, спросить разрешение пользователя на установку
и предупредить о возможных последствиях при отказе от их установки.
|