ObjectARX, AutoCAD. Среда программирования библиотеки C++


         

Windows 95 и Windows 98


Вы должны модифицировать AUTOEXEC.BAT файл пользователя, чтобы включить “aliased” (или короткий) имя пути, потому что переменная ПУТИ не будет обрабатывать пробелы. В то время как пути к приложению должны удовлетворить, строго рекомендуется, чтобы Вы модифицировали пользователя AUTOEXEC.BAT из-за известных проблем с автоматизацией (отнесите к Microsoft KnowledgeBase статью Q148375).

Гарантируйте умные модификации путей

При модифицировании пользователя AUTOEXEC.BAT пожалуйста, быть прилежный относительно изменения входа пути, если вход пути - уже там. Что должно быть предотвращено,  только изменяет ПУТЬ без отношения к любому из этих условий:

§

путь - уже там.

§         Вы воздействуют на другие назначения пути в пакетном файле.

При модифицировании значения ПУТИ, независимо от того, который операционная система Вы имеете дело, ваш инсталлятор должен запросить пользователя перезагружаться так, чтобы изменение пути было должным образом зарегистрировано после того, как инсталляция полна.

Autodesk обеспечивает сценарий InstallShield ниже как неполный пример сильного модифицирования пути:

function AdUpdateAUTOEXEC (szSharedPath)

STRING szRootPath, szBatchName, szBatchFile,

szBackupName,szTestLine,szCheckForPathLine;

NUMBER nReturn, nvHandle;

STRING szOutput;

begin

szOutput = "SET PATH=%PATH%;" + szSharedPath;

// Obtain the filename of the system batch file.

BatchGetFileName (szBatchFile);

ParsePath(szRootPath, szBatchFile, PATH);

// Make sure we’re pointing at the root of the system

VarSave(SRCTARGETDIR);

TARGETDIR = szRootPath;

SRCDIR = szRootPath;

// See if we have an AUTOEXEC.

if (Is(FILE_EXISTS,szBatchFile) = FALSE) then

// If we don’t, just write ’ours’ out and no more

OpenFileMode (FILE_MODE_NORMAL);

ParsePath(szBatchFile,szBatchFile,FILENAME);

CreateFile (nvHandle,SRCDIR,szBatchFile);

WriteLine (nvHandle, szOutput);

CloseFile (nvHandle);

bNeedReboot = TRUE;

else

ParsePath(szBatchName, szBatchFile, FILENAME_ONLY);




Содержание  Назад  Вперед