Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > InstallShield создание инсталлятора


Автор: iampsd 17.9.2014, 18:14
Добрый день!
Нужна помощь по InstallShield
Мной создан инсталлятор на InstallShield 2012 Spring. Он предназначен для установки нового модуля в уже развернутую систему. Для этого ему необходимо определить путь к установленной системе на ПК пользователя и заменить значение системной переменной INSTALLDIR на это значение. Первоначально этой переменной при формировании инсталлятора было задано значение по умолчанию. Для определения пути и подстановки его была написана функция на на InstallScript, которая содержит следующее

function GetPath(hMSI)
    NUMBER nRes,nType;
    STRING sDir;
begin
…..
(считывание пути в переменную sDir)
……   
INSTALLDIR=sDir;
End;
Все это работало несколько лет на разных OS от Windows XP до Windows 7 (32 и 64).
Но вот недавно у одного пользователя (Windows 8 Enterprise) на виртуальной машине не сработало. Вставил отладочную печать и оказалось, что не срабатывает оператор   

INSTALLDIR=sDir;
Попробовал использовать функцию CopyBytes, не помогло, значение  INSTALLDIR не меняется.
Но если явно написать в скрипте 
INSTALLDIR="C:\\test";
То это работает.
Поставил у себя Windows 8 Enterprise, все работает нормально.
Есть другой пользователь под Windows 8 правда Profesional у него тоже все нормально. Больше пользователей под 8 нет.
Поэтому не могу понять это глюк конкретного ПК либо есть какая-то специфика   Windows 8.
Может быть кто то сталкивался с чем то подобным? 

Автор: SVN74 17.9.2014, 21:18
Цитата(iampsd @  17.9.2014,  18:14 Найти цитируемый пост)
…..
(считывание пути в переменную sDir)
……   

Неизвестно чем вы получаете путь...

Цитата(iampsd @  17.9.2014,  18:14 Найти цитируемый пост)
Но вот недавно у одного пользователя (Windows 8 Enterprise) на виртуальной машине не сработало. Вставил отладочную печать и оказалось, что не срабатывает оператор   

INSTALLDIR=sDir;

А сам sDir получает путь?

Автор: iampsd 18.9.2014, 09:27
Цитата

А сам sDir получает путь?


Да

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)