Уважаемый
PhoeniX, меня очень заинтерисовала работа с WIM-файлами с использованием Delphi, сейчас работаю над программой редактирования WIM-образов.
Не знаю правильно я делаю или нет, но я экспортирую образы из одного в другой используя примерно такой набор функций:
Код:
wim:= WIMCreateFile(PWideChar(WideString(odObrazPash.FileName)), WIM_GENERIC_READ, WIM_OPEN_EXISTING, 0, 0, nil);
SetLength(itmp,MAX_PATH);
GetTempPath(MAX_PATH,PChar(itmp));
if (WIMSetTemporaryPath(wim,PWideChar(WideString(itmp)))) then ShowMessage('Первый образ загружен!')
else ShowMessage('Первый образ незагружен!');
dir:=ePachNewObr.Text;
dir:=StringReplace(dir,'\\','\',[rfReplaceAll]);
neww:=WIMCreateFile(PWideChar(WideString(dir)), WIM_GENERIC_WRITE or WIM_GENERIC_READ, WIM_OPEN_ALWAYS, 0, 1, nil);
SetLength(ptmp,MAX_PATH);
GetTempPath(MAX_PATH,PChar(ptmp));
if (WIMSetTemporaryPath(neww,PWideChar(WideString(ptmp)))) then ShowMessage('Второй образ загружен!')
else ShowMessage('Второй образ незагружен!');
img:=WIMLoadImage(wim,cbObrazVibor.ItemIndex);
//Экспортируем образ в новый wim-файл
if WIMExportImage(img,neww,0) then ShowMessage('Все работает!')
else ShowMessage('Неработает!');
Такой код работает если экспортировать в существующий WIM-файл имеющий хоть один образ, но если мне нужно экспортировать образ в несуществующий WIM-файл то выскакивает ошибка.
Хотя второй образ открывается как новый. Подскажите что я делаю нетак и как из этого положения выйти?