- Печать
Страницы: [1] 2 Все Вниз
Тема: 12.04 и Wine. частые ошибки «Внутренние ошибки получены неверные параметры». (Прочитано 8241 раз)
0 Пользователей и 1 Гость просматривают эту тему.

Ryuji
обновился с 11.10 до 12.04… Wine перестал работать, а именно..Майл агент не выходит в интернет, не работает ICCUP+WarCraft пишет «Внутренние ошибки получены неверные параметры». Помучился денек, вычищал всё через apt-get purge.. в итоге переустановил систему с нуля.. и всеравно всё так осталось… незнаю как бороться.. есть идей?

Михаил142
попробуй установи через Playonlinux
Елена Ретта
Пробовали установить 1.5.3 вместо 1.4?

Ryuji
Пробовали установить 1.5.3 вместо 1.4?
Пробовал. и так сразу 1,5 поставил.
Через PlayOnLinux ставил 1,3, 1,4.. везде одно и тоже…
Пользователь решил продолжить мысль 28 Апреля 2012, 22:30:59:
С агентом проблему решил. Запустил через playonlinux на 1.4 wine.
Осталось только разобраться с Iccup+WarCraft. Сам Iccup вроде как нормально идет, но Варкрафт Через него запускаеться с ошибкой «Внутренние ошибки получены неверные параметры», и отказываеться входить на сервер ICCUP
« Последнее редактирование: 28 Апреля 2012, 22:30:59 от Ryuji »

i-warchik
Ryuji точь то же самое ubuntu 12.04 + wine 1.4 + iccup + warcraft3 — выдает внутренние ошибки получены неверные параметры. например если установить какой нить линукс минт 11 к примеру старый — то там все работает. может надо откатить версию wine до какой нить старинной. похоже в wine дело
Ты поборол как нить ?

Ryuji
Ryuji точь то же самое ubuntu 12.04 + wine 1.4 + iccup + warcraft3 — выдает внутренние ошибки получены неверные параметры. например если установить какой нить линукс минт 11 к примеру старый — то там все работает. может надо откатить версию wine до какой нить старинной. похоже в wine дело
Ты поборол как нить ?
Пробовал, не помогло. видать долго еще не будет. может из за ядра Linux 3,2…

proguffi
таже проблема тока ла2 запускать пробывал
Counter-Strike Source лицензия со стима тоже не работает сама игра запускается,грузимся на сервер вылетает без ошибок.
« Последнее редактирование: 05 Мая 2012, 20:04:11 от proguffi »

xoxol38912
Установил 12.04 wine 1.5 при запуске Splan 7 и AVRStudio постоянно выскакивает ошибка «Внутренние ошибки получены неверные параметры» программы запускаются и работают корректно. но переодически при очередном запуске слетает оформление окошек — пропадают кнопки закрыть и свернуть. Как вылечить?

v!tax
compiz --replace
Не7
а вообще,запускайте в терминале,если хотите помощи.
господь ведет твою руку, сын мой….

avkutyrev
У меня похожая ситуация. Есть стационарник и ноут и там и там обновился до 12.04 но на ноуте все работает на ура а вот на стационарнике при зауске приложений через wine выдает сообщение «Внутренние ошибки получены неверные параметры» но приложение все равно запускается и функционирует. Однако спустя некоторое время пропадают рамки окон вместе с элементами управления у всех окон кроме окон приложений запущеных через вайн. Решается эта беда перезапуском unity. Ниже прилагаю файл с логом из терминал после запуска Unity. Есть подозрение что помимо беды с wine как у отписавшихся здесь есть еще и беда с Compiz. Помогите плз куда копать? На ноуте Samsung 350U2B все работает нормально ни ошибок ни глюков с окнами.
При повторном запуске wine приложения после этого выдает в терминале следующий лог

dos37

NickVectra

Ryuji

Сперанский

avkutyrev
А мне не помогло. Все равно пропадают рамки и элементы управления окон всех приложений кроме запущенных через wine.
- Печать
Страницы: [1] 2 Все Вверх
Да нет, не сложно.
Сейчас приведу пример скрипта и с пояснениями.
На примере одной проприетарной программы и wine 1.3
пусть программа устанавливается в C:prop
Итак… берем wine
я обычно беру с проекта PlayOnLinux — у них там все версии на любой вкус.
Но можно внутренности из wine-vanilla-1.5.24 стащить
Создает каталог для программы
/opt/muwine/prop
там подкаталог
wine13 c бинарниками wine нужной версии в нашем случае 1.3
Будет структура
user@home:~$ ls /opt/muwine/prop/wine13/usr/
bin lib share
Скрипт запуска
#!/bin/bash
MYPATH=`pwd`
MYSTR=""
STRL=`expr length "$1"`
WMAINPATH="/opt/muwine"
WMAINPREF="$HOME/.muwine"
#++++++++++++++++++++++++++++++
# Настраиваемые параметры
#++++++++++++++++++++++++++++++
WPATH="$WMAINPATH/prop/wine13"
WFILE="$WMAINPATH/prop/prop-prog"
WPREF="$WMAINPREF/prop-prog"
WPROG="$WPREF/drive_c/propdir/prop.exe"
#++++++++++++++++++++++++++++++
# Для настройки убрать комментарий с 4 строк ниже, после настройки их закомментировать назад
# mkdir /tmp/zz-test
#WPREF=/tmp/zz-test/prop-prog
#PATH=$PATH:$WPATH/usr/bin/ LD_LIBRARY_PATH=$WPATH/usr/lib:$WPATH/usr/lib/wine WINEWINELOADER=$WPATH/usr/bin/wine WINESERVER=$WPATH/usr/bin/wineserver DLLPATH=$WPATH/usr/lib/wine WINEPREFIX=$WPREF wine "$WPROG"
fi
#exit 0
# Проверка и создание префикса
if [ -e $WPATH ]; then
echo "$WPATH exists"
else
echo "ERROR !"
echo "$WPATH not exists"
exit
fi
if [ -e $WFILE ]; then
echo "$WFILE exists"
else
echo "ERROR !"
echo "$WFILE not exists"
exit
fi
if [ -e $WPREF ]; then
echo "$WPREF exists"
else
echo "$WPREF not exists. Try create"
mkdir $WMAINPREF
mkdir $WPREF
mkdir $WPREF/drive_c
mkdir $WPREF/drive_c/users
cp -R -f $WFILE/drive_c/users/all $WPREF/drive_c/users/$USER
if [ -e $HOME/Документы ]; then
ln -s $HOME/Документы $WPREF/drive_c/users/$USER/"Мои документы"
else
ln -s $HOME $WPREF/drive_c/users/$USER/"Мои документы"
fi
if [ -e $HOME/Картинки ]; then
ln -s $HOME/Картинки $WPREF/drive_c/users/$USER/"Мои рисунки"
else
ln -s $HOME $WPREF/drive_c/users/$USER/"Мои рисунки"
fi
if [ -e $HOME/Видео ]; then
ln -s $HOME/Видео $WPREF/drive_c/users/$USER/"Мои фильмы"
else
ln -s $HOME $WPREF/drive_c/users/$USER/"Мои фильмы"
fi
if [ -e $HOME/Музыка ]; then
ln -s $HOME/Музыка $WPREF/drive_c/users/$USER/"Моя музыка"
else
ln -s $HOME $WPREF/drive_c/users/$USER/"Моя музыка"
fi
if [ -e $HOME/"Рабочий стол" ]; then
ln -s $HOME/"Рабочий стол" $WPREF/drive_c/users/$USER/"Рабочий стол"
else
ln -s $HOME $WPREF/drive_c/users/$USER/"Рабочий стол"
fi
cp -R -f $WFILE/drive_c/users/Public $WPREF/drive_c/users/Public
#ln -s $WFILE/drive_c/windows $WPREF/drive_c/windows
ln -s $WFILE/drive_c/Program Files $WPREF/drive_c/Program Files
ln -s $WFILE/drive_c/prop $WPREF/drive_c/prop # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DIR
fi
#clear windows dir
rm -R -f $WPREF/drive_c/windows
#make windows dir
mkdir $WPREF/drive_c/windows
mkdir $WPREF/drive_c/windows/temp
mkdir $WPREF/drive_c/windows/system32
ls -1 $WFILE/drive_c/windows | grep -v temp | grep -v system32 | grep -v system.ini | grep -v win.ini | while read FILEORDIR
do
ln -s $WFILE/drive_c/windows/$FILEORDIR $WPREF/drive_c/windows/$FILEORDIR
done
cp -R -f $WFILE/drive_c/windows/system.ini $WPREF/drive_c/windows/system.ini
cp -R -f $WFILE/drive_c/windows/win.ini $WPREF/drive_c/windows/win.ini
cp -R -f $WFILE/drive_c/windows/system32/spool $WPREF/drive_c/windows/system32/spool
ls -1 $WFILE/drive_c/windows/system32 | grep -v spool | while read FILEORDIR
do
ln -s $WFILE/drive_c/windows/system32/$FILEORDIR $WPREF/drive_c/windows/system32/$FILEORDIR
done
cp -f $WFILE/system.reg $WPREF/system.reg
cp -f $WFILE/user.reg $WPREF/user.reg
cp -f $WFILE/userdef.reg $WPREF/userdef.reg
cp -f $WFILE/.update-timestamp $WPREF/.update-timestamp
rm -R -f $WPREF/dosdevices
cp -R -f $WFILE/dosdevices $WPREF/dosdevices
# Меняем путь до открываемого файла
if [ $STRL -gt 2 ]; then
if [ `expr index "$1" '//'` -eq 1 ]; then
MYSTR=$1 #полный путь
elif [ `expr index "$1" '~//'` -eq 1 ]; then
MYSTR=`expr substr "$1" 2 "$STRL"` #путь от домашнего каталога
MYSTR="$HOME$MYSTR"
else
MYSTR="$MYPATH/$1" # только имя файла или относительный путь
fi
MYSTR="z:$MYSTR" # замена на Z: Если Z как корень
MYSTR=`echo "$MYSTR"|sed 's/ /%20/g'` #MYSTR="${MYSTR/ /%20}" #пробелы
MYSTR="file:///$MYSTR"
PATH=$PATH:$WPATH/usr/bin/ LD_LIBRARY_PATH=$WPATH/usr/lib:$WPATH/usr/lib/wine WINEWINELOADER=$WPATH/usr/bin/wine WINESERVER=$WPATH/usr/bin/wineserver DLLPATH=$WPATH/usr/lib/wine WINEPREFIX=$WPREF wine "$WPROG" "$MYSTR"
else
PATH=$PATH:$WPATH/usr/bin/ LD_LIBRARY_PATH=$WPATH/usr/lib:$WPATH/usr/lib/wine WINEWINELOADER=$WPATH/usr/bin/wine WINESERVER=$WPATH/usr/bin/wineserver DLLPATH=$WPATH/usr/lib/wine WINEPREFIX=$WPREF wine "$WPROG"
fi
Далее все от ЮЗЕРА
Первым делом правим как надо тут
#++++++++++++++++++++++++++++++
# Настраиваемые параметры
#++++++++++++++++++++++++++++++
WPATH=»$WMAINPATH/prop/wine13″
WFILE=»$WMAINPATH/prop/prop-prog»
WPREF=»$WMAINPREF/prop-prog»
WPROG=»$WPREF/drive_c/propdir/prop.exe»
#++++++++++++++++++++++++++++++
Вторым делом расскомментируем 4 строки
# mkdir /tmp/zz-test
#WPREF=/tmp/zz-test/prop-prog
#PATH=$PATH:$WPATH/usr/bin/ LD_LIBRARY_PATH=$WPATH/usr/lib:$WPATH/usr/lib/wine WINEWINELOADER=$WPATH/usr/bin/wine WINESERVER=$WPATH/usr/bin/wineserver DLLPATH=$WPATH/usr/lib/wine WINEPREFIX=$WPREF wine «$WPROG»
fi
#exit 0
Единственное что… Если программа большая, то лучше не
mkdir /tmp/zz-test
WPREF=/tmp/zz-test/prop-prog
а указать каталог в домашке юзера
mkdir /home/user/zz-test
WPREF=/home/user/zz-test/prop-prog
И настраиваем префикс — ставим что надо, проверяем работу и т.д.
Далее когда все готово работаем рутом…
Для нашего примера берем содержимое каталога
/tmp/zz-test/prop-prog
и переносим в
/opt/muwine/prop/prop-prog
далее разбираемся с правами — пока они юзеровские — ставим рутовские — главное не переборщить- юзеры должены читать
Теперь смотрим на
/opt/muwine/prop/prop-prog/drive_c/users/
Там есть Public и есть каталог с именем юзера.
Вот этот каталог с именем юзера переименуем в all и удалим все софт-ссылки на каталоги в домашке юзера от которого создавали префикс.
Потом скрипт будет все переименовывать.
Теперь скрипт.
Копируем его в /usr/bin
Не забываем права.
И делаем правки:
Четыре строчки комментируем назад.
Исправляем ссылки на каталоги программы, в нашем случае
ln -s $WFILE/drive_c/prop $WPREF/drive_c/prop # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DIR
если надо вместо ссылок делаем копию (место занимает, но часть программ любит себе в каталог писать)
Ну и собственно почти все
Остаются мелкие правки — реестр и win.ini — если программа будет переносится и нужна печать.
Берем файл
/opt/muwine/prop/prop-prog/drive_c/windows/win.ini
и удаляем записи о принтерах — в районе [devices] и [PrinterPorts]
Потом смотрим в
/opt/muwine/prop/prop-prog/system.reg
/opt/muwine/prop/prop-prog/user.reg
и тоже удаляем записи о принтерах и о домашке юзера от которого создан префикс.
если сделать аккуратно — все работает, в том числе и принтеры
Потом
/opt/muwine/prop/
вместе с нужной версией wine пакуется в пакет — и вперед распространять
Как-то так
Оригинал:
Wine User Guide
Перевод: Алексей Дмитриев, yakwiat@yandex.ru
Дата перевода: май 2008
Глава V. Устранение неисправностей и сообщения об ошибках
5.1. Что делать, если программа не работает?
Бывают случаи, когда вы перепробовали все, чтобы заставить эту проклятую программу заработать на данной версии Wine. Не расстраивайтесь, мы всегда здесь, чтобы помочь вам… (другими словами: «Сколько заплатите?»)
5.1.1. Проверьте конфигурацию своей Wine
Посмотрите вывод команды $ wine —version, чтобы убедиться, что у вас новейшая версия Wine. Запустите winecfg и посмотрите на установки, чтобы убедиться, что они выглядят нормально. Проверьте ~/.wine/dosdevices, чтобы убедиться что c: указывает куда нужно.
5.1.2. Попробуйте разные версии Windows
В некоторых случаях изменение версии Windows может помочь.
5.1.3. Используйте различные пути (paths) для запуска
Это тоже иногда помогает. Попробуйте как wine prg.exe, так и wine x:fullpathtoprg.exe
5.1.4. Поэкспериментируйте с настройкой DLL
Запустите WINEDEBUG=+loaddll, чтобы выяснить, какие DLL используются, и являются ли они «родными» или встроенными. Затем убедитесь, что у вас установлены правильные «родные» файлы библиотек в вашей директории C:windowssystem и поэкспериментируйте настройками очередности загрузки DLL в командной строке, либо в файле конфигурации.
5.1.5. Проверьте рабочее окружение!
Еще идея: не может ли рабочее окружение Wine быть испорченным? Убедитесь, что все в порядке с пакетами, от которых зависит работа Wine (gcc, glibc, X libraries, OpenGL (!), …).
5.1.6. Используйте другой режим графического интерфейса
Проинструктируйте Wine посредством конфигурационного файла использовать либо desktop mode (режим рабочего стола), либо managed mode (управляемый режим), либо уродливый «нормальный» (normal) режим. Это тоже может помочь.
5.1.7. Проверьте приложение!
Может быть, ваше приложение имеет защиту от копирования? Многие виды таких защит пока не работают под Wine. Некоторые, возможно, заработают в будущем. (Уровень CD-ROM до сих пор не полнофункционален).
Идите на сайт GameCopyWorld и попытайтесь найти хороший крэк, который позволит снять защиту от копирования. Я надеюсь, что у вас легальная копия программы, но кто знает…
5.1.8. Измените окружение Wine
Запуск приложения при наличии Windows раздела может драматически отличаться от такового при отсутствии Windows раздела. Настройте Wine на действия, противоположные тому, что были обычно. Также установите DCOM98 или DCOM95. Это может быть очень полезно.
5.1.9. Переконфигурируйте Wine
Иногда процесс инсталляции Wine изменяется, и новые версии Wine считаются с этими изменениями. Это особенно вероятно, если ваша установка произведена давно. Переименуйте директорию ~/.wine с целью резервного копирования. Запустите процесс установки, рекомендованный для вашей версии Wine, чтобы создать новую конфигурацию. Для сравнения используйте старую директорию ~/.wine. Для установок Wine из исходников применяйте для конфигурации Wine скрипт tools/wineinstall от имени пользователя. Это вполне безопасная операция. Позже вы сможете удалить новую директорию ~/.wine, и переименовать обратно старую.
5.1.10. Следите за сторонней информацией
Весьма возможно, что кто-то уже делал то, что вы пытаетесь проделать сейчас. Вам могут помочь следующие ресурсы:
Просмотрите WineHQ’s Application Database в поисках подсказок, относящихся к вашей программе. Если ваша конкретная версия программы отсутствует в списке, просмотрите сходные версии, возможно там достаточно информации.
Frank’s Corner имеет список приложений с детальными инструкциями по их установке. Дальнейшая помощь может найтись на форумах пользователей.
Может помочь Google, если уметь им пользоваться. Полезно бывает искать в Google Groups, конкретно в группе comp.emulators.ms-windows.wine
Существует IRC канал для Wine — Freenode.net. Вы можете попасть туда, используя любой IRC клиент, например Xchat. Вот необходимые настройки:
server = irc.freenode.net, port = 6667
и channel = #winehq
Если ваша программа требует Visual Basic Runtime Environment, то вы можете загрузить его с этого сайта Микрософт.
Если вам недостает DLL, например mfc42, можете найти их на сайте http://www.dll-files.com
Рассылочный лист Wine также может помочь, особенно wine-users. Лист wine-devel может быть полезен в зависимости от типа ваших затруднений.
если вы пишете в wine-devel, то готовьтесь проделать некоторую работу по диагностике проблемы. Читайте следующий раздел, чтобы узнать, как определить источник ваших трудностей.
Если все усилия напрасны, стоит просмотреть коммерческие версии Wine на предмет поддержки вашего приложения.
5.1.11. Ищите причину!
Следующим шагом, который стоит предпринять, является поиск причины проблемы. Спектр возможных причин весьма широк — от простой ошибки в конфигурации до полной неработоспособности Wine. Следующий раздел описывает, как создать файл с отчетом об ошибке, и как начать искать неисправность. Отладочные возможности Wine описываются в Wine Developers Guide (руководство для разработчиков).
5.2. Как послать отчет об ошибке.
Пожалуйста, сообщайте об ошибках и сопутствующую информацию на сайт
Wine Bugzilla
. Пожалуйста, просматривайте базу данных Bugzilla, чтобы выяснить, не было ли уже отчетов по данной проблеме. Если таковые уже были, пожалуйста, добавляйте вашу информацию к первоначальному отчету.
5.2.1 Отчеты об ошибках
Вот несколько простых советов, как сделать ваш отчет более содержательным, и тем повысить вероятность ответа и исправления ошибки:
1. Включите как можно больше информации, относящейся к делу.
Это означает, что нам нужно больше информации, чем просто: «Мой MS Word «падает», когда бы я его не запускал. Вы не знаете, почему?». Добавьте, как минимум, следующую информацию:
- Какую версию Wine вы используете (команда: wine —version)
- Название вашей операционной системы, дистрибутив и его версию (например, Linux Red Hat 7.2)
- Какой компилятор был использован, его версию (команда: gcc -v). Если вы не компилировали Wine, название пакета, и место, откуда его взяли.
- Версия Windows, если таковая используется с Wine. Если Windows не используется, то упомяните об этом.
- Название и номер версии программы, которую вы пытаетесь запустить, а также URL, где программа скачана (если таковой есть).
- Точная команда, которой вы запускаете программу Wine.
Например: wine «C:Program FilesTestprogram.exe» - Конкретные шаги, при помощи которых можно повторить ошибку.
- Любая дополнительная информация, могущая, по вашему мнению, относиться к делу, такая как версия Иксов (в случае проблем с Иксами), версия libc и прочее.
2. Прогоните программу с переменной окружения WINEDEBUG. Например, WINEDEBUG=+relay wine sol.exe
Это приведет к выводу на консоль дополнительной информации, которая может быть полезна при отладке программы. Также это замедлит воспроизводство программы. Бывают случаи, когда ошибка, по-видимому, исчезала при использовании опции +relay. Укажете это в вашем отчете.
5.2.2. Аварийное завершение программы
Если Wine аварийно отказывает во время выполнения вашей программы, нам важно
иметь информацию об этом, чтобы попытаться понять причину отказа. Отчет может
занимать много места (несколько Мб), но все же лучше сохранить его в файле.
Когда появится приглашение Wine-dbg>
, напечатайте quit.
Вы можете попробовать +relay,+snoop вместо +relay, но, пожалуйста, помните,
что +snoop довольно нестабилен и часто вызывает отказ раньше, чем просто
+relay!! Отчет с отказом в коде +snoop в большинстве случаев бесполезен!
Можно также подключать другие параметры, в зависимости от природы проблемы,
которую вы исследуете. Для получения полного списка параметров смотрите man-страницу
к Wine.
Для того чтобы вывести запись с историей событий (трассировочный лог), используйте один из следующих методов:
5.2.2.1 Простой путь
1. Этот метод позволяет даже полному новичку получить качественный трассировочный лог событий, приведших к аварийному завершению программы.
Чтобы воспользоваться этим методом, на вашем компьютере должен быть установлен язык программирования perl. Чтобы узнать, есть ли он у вас, наберите команду: which perl. Если ответ нечто вроде: /usr/bin/perl, то вы можете работать. В противном случае переходите к разделу «Трудный путь». Если вы не уверены, все-таки проделайте работу. Когда вы попытаетесь запустить скрипт, то станет весьма очевидно, если у вас не установлен perl.
2. Смените директорию на /путь-к-wine>/tools.
3. Наберите: ./bug_report.pl и следуйте указаниям.
4. Пошлите отчет на сайт Wine Bugzilla. Пожалуйста, просмотрите базу данных сайта, чтобы убедиться, что ваша проблема еще не зафиксирована, прежде чем отправлять отчет. Составьте детальное описание проблемы с сопутствующей информацией. Прикрепите «Прекрасно оформленный трассировочный лог» к письму. Не вставляйте лог в текст отчета — он слишком велик. Сохраняйте полную копию трассировочного лога, на случай, если он понадобится разработчикам Wine.
5.2.2.2. Трудный путь
Чаще всего только последние 100 (или около того) строчек трассировочного лога нужны, чтобы выяснить, где программа аварийно завершилась. Для того чтобы получить эти последние 100 строк, мы должны проделать следующее:
1. Перенаправить весь вывод программы WINEDEBUG в файл.
2. Отделить последние 100 строк в другой файл при помощи команды: tail.
Это можно проделать одним из следующих способов.
Для всех шеллов (оболочек):
$ echo quit | WINEDEBUG=+relay wine [other_options] program_name >& filename.out;
$ tail -n 100 filename.out > report_file
(Эта команда запишет сообщение только в файл и затем автоматически завершится. Эту команду хорошо использовать, так как Wine выдает столько отладочных сообщений, что они переполняют терминал, пожирая процессорные циклы).
tcsh и другие csh-подобные шеллы:
$ WINEDEBUG=+relay wine [other_options] program_name |& tee filename.out;
$ tail -n 100 filename.out > report_file
bash и другие sh-подобные шеллы:
$ WINEDEBUG=+relay wine [other_options] program_name 2>&1 | tee filename.out;
$ tail -n 100 filename.out > report_file
Файл report_file теперь содержит последние сто строк вывода отладчика включая register dump и backtrace, которые являются самыми ценными массивами информации. Пожалуйста, не удаляйте эту часть, даже если не понимаете, что она означает.
Пошлите отчет на Wine Bugzilla. Необходимо прикрепить файл report_file. Вместе с относящейся к делу информацией, о том, как вы его создали. Не вставляйте текст файла в текст
самого отчета об ошибкt — он довольно велик и спутает отчет. Если вы правильно проделаете всю эту процедуру, ваши шансы на получение ответа с помощью довольно велики.
Пожалуйста, просматривайте базу данных Bugzilla, чтобы выяснить, не было ли уже отчетов по данной проблеме. Если таковые уже были, пожалуйста, добавляйте ваш файл report_file и другую информацию к первоначальному отчету.
Если вам понравилась статья, поделитесь ею с друзьями:
Да нет, не сложно.
Сейчас приведу пример скрипта и с пояснениями.
На примере одной проприетарной программы и wine 1.3
пусть программа устанавливается в C:prop
Итак… берем wine
я обычно беру с проекта PlayOnLinux — у них там все версии на любой вкус.
Но можно внутренности из wine-vanilla-1.5.24 стащить
Создает каталог для программы
/opt/muwine/prop
там подкаталог
wine13 c бинарниками wine нужной версии в нашем случае 1.3
Будет структура
user@home:~$ ls /opt/muwine/prop/wine13/usr/
bin lib share
Скрипт запуска
#!/bin/bash
MYPATH=`pwd`
MYSTR=""
STRL=`expr length "$1"`
WMAINPATH="/opt/muwine"
WMAINPREF="$HOME/.muwine"
#++++++++++++++++++++++++++++++
# Настраиваемые параметры
#++++++++++++++++++++++++++++++
WPATH="$WMAINPATH/prop/wine13"
WFILE="$WMAINPATH/prop/prop-prog"
WPREF="$WMAINPREF/prop-prog"
WPROG="$WPREF/drive_c/propdir/prop.exe"
#++++++++++++++++++++++++++++++
# Для настройки убрать комментарий с 4 строк ниже, после настройки их закомментировать назад
# mkdir /tmp/zz-test
#WPREF=/tmp/zz-test/prop-prog
#PATH=$PATH:$WPATH/usr/bin/ LD_LIBRARY_PATH=$WPATH/usr/lib:$WPATH/usr/lib/wine WINEWINELOADER=$WPATH/usr/bin/wine WINESERVER=$WPATH/usr/bin/wineserver DLLPATH=$WPATH/usr/lib/wine WINEPREFIX=$WPREF wine "$WPROG"
fi
#exit 0
# Проверка и создание префикса
if [ -e $WPATH ]; then
echo "$WPATH exists"
else
echo "ERROR !"
echo "$WPATH not exists"
exit
fi
if [ -e $WFILE ]; then
echo "$WFILE exists"
else
echo "ERROR !"
echo "$WFILE not exists"
exit
fi
if [ -e $WPREF ]; then
echo "$WPREF exists"
else
echo "$WPREF not exists. Try create"
mkdir $WMAINPREF
mkdir $WPREF
mkdir $WPREF/drive_c
mkdir $WPREF/drive_c/users
cp -R -f $WFILE/drive_c/users/all $WPREF/drive_c/users/$USER
if [ -e $HOME/Документы ]; then
ln -s $HOME/Документы $WPREF/drive_c/users/$USER/"Мои документы"
else
ln -s $HOME $WPREF/drive_c/users/$USER/"Мои документы"
fi
if [ -e $HOME/Картинки ]; then
ln -s $HOME/Картинки $WPREF/drive_c/users/$USER/"Мои рисунки"
else
ln -s $HOME $WPREF/drive_c/users/$USER/"Мои рисунки"
fi
if [ -e $HOME/Видео ]; then
ln -s $HOME/Видео $WPREF/drive_c/users/$USER/"Мои фильмы"
else
ln -s $HOME $WPREF/drive_c/users/$USER/"Мои фильмы"
fi
if [ -e $HOME/Музыка ]; then
ln -s $HOME/Музыка $WPREF/drive_c/users/$USER/"Моя музыка"
else
ln -s $HOME $WPREF/drive_c/users/$USER/"Моя музыка"
fi
if [ -e $HOME/"Рабочий стол" ]; then
ln -s $HOME/"Рабочий стол" $WPREF/drive_c/users/$USER/"Рабочий стол"
else
ln -s $HOME $WPREF/drive_c/users/$USER/"Рабочий стол"
fi
cp -R -f $WFILE/drive_c/users/Public $WPREF/drive_c/users/Public
#ln -s $WFILE/drive_c/windows $WPREF/drive_c/windows
ln -s $WFILE/drive_c/Program Files $WPREF/drive_c/Program Files
ln -s $WFILE/drive_c/prop $WPREF/drive_c/prop # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DIR
fi
#clear windows dir
rm -R -f $WPREF/drive_c/windows
#make windows dir
mkdir $WPREF/drive_c/windows
mkdir $WPREF/drive_c/windows/temp
mkdir $WPREF/drive_c/windows/system32
ls -1 $WFILE/drive_c/windows | grep -v temp | grep -v system32 | grep -v system.ini | grep -v win.ini | while read FILEORDIR
do
ln -s $WFILE/drive_c/windows/$FILEORDIR $WPREF/drive_c/windows/$FILEORDIR
done
cp -R -f $WFILE/drive_c/windows/system.ini $WPREF/drive_c/windows/system.ini
cp -R -f $WFILE/drive_c/windows/win.ini $WPREF/drive_c/windows/win.ini
cp -R -f $WFILE/drive_c/windows/system32/spool $WPREF/drive_c/windows/system32/spool
ls -1 $WFILE/drive_c/windows/system32 | grep -v spool | while read FILEORDIR
do
ln -s $WFILE/drive_c/windows/system32/$FILEORDIR $WPREF/drive_c/windows/system32/$FILEORDIR
done
cp -f $WFILE/system.reg $WPREF/system.reg
cp -f $WFILE/user.reg $WPREF/user.reg
cp -f $WFILE/userdef.reg $WPREF/userdef.reg
cp -f $WFILE/.update-timestamp $WPREF/.update-timestamp
rm -R -f $WPREF/dosdevices
cp -R -f $WFILE/dosdevices $WPREF/dosdevices
# Меняем путь до открываемого файла
if [ $STRL -gt 2 ]; then
if [ `expr index "$1" '//'` -eq 1 ]; then
MYSTR=$1 #полный путь
elif [ `expr index "$1" '~//'` -eq 1 ]; then
MYSTR=`expr substr "$1" 2 "$STRL"` #путь от домашнего каталога
MYSTR="$HOME$MYSTR"
else
MYSTR="$MYPATH/$1" # только имя файла или относительный путь
fi
MYSTR="z:$MYSTR" # замена на Z: Если Z как корень
MYSTR=`echo "$MYSTR"|sed 's/ /%20/g'` #MYSTR="${MYSTR/ /%20}" #пробелы
MYSTR="file:///$MYSTR"
PATH=$PATH:$WPATH/usr/bin/ LD_LIBRARY_PATH=$WPATH/usr/lib:$WPATH/usr/lib/wine WINEWINELOADER=$WPATH/usr/bin/wine WINESERVER=$WPATH/usr/bin/wineserver DLLPATH=$WPATH/usr/lib/wine WINEPREFIX=$WPREF wine "$WPROG" "$MYSTR"
else
PATH=$PATH:$WPATH/usr/bin/ LD_LIBRARY_PATH=$WPATH/usr/lib:$WPATH/usr/lib/wine WINEWINELOADER=$WPATH/usr/bin/wine WINESERVER=$WPATH/usr/bin/wineserver DLLPATH=$WPATH/usr/lib/wine WINEPREFIX=$WPREF wine "$WPROG"
fi
Далее все от ЮЗЕРА
Первым делом правим как надо тут
#++++++++++++++++++++++++++++++
# Настраиваемые параметры
#++++++++++++++++++++++++++++++
WPATH=»$WMAINPATH/prop/wine13″
WFILE=»$WMAINPATH/prop/prop-prog»
WPREF=»$WMAINPREF/prop-prog»
WPROG=»$WPREF/drive_c/propdir/prop.exe»
#++++++++++++++++++++++++++++++
Вторым делом расскомментируем 4 строки
# mkdir /tmp/zz-test
#WPREF=/tmp/zz-test/prop-prog
#PATH=$PATH:$WPATH/usr/bin/ LD_LIBRARY_PATH=$WPATH/usr/lib:$WPATH/usr/lib/wine WINEWINELOADER=$WPATH/usr/bin/wine WINESERVER=$WPATH/usr/bin/wineserver DLLPATH=$WPATH/usr/lib/wine WINEPREFIX=$WPREF wine «$WPROG»
fi
#exit 0
Единственное что… Если программа большая, то лучше не
mkdir /tmp/zz-test
WPREF=/tmp/zz-test/prop-prog
а указать каталог в домашке юзера
mkdir /home/user/zz-test
WPREF=/home/user/zz-test/prop-prog
И настраиваем префикс — ставим что надо, проверяем работу и т.д.
Далее когда все готово работаем рутом…
Для нашего примера берем содержимое каталога
/tmp/zz-test/prop-prog
и переносим в
/opt/muwine/prop/prop-prog
далее разбираемся с правами — пока они юзеровские — ставим рутовские — главное не переборщить- юзеры должены читать
Теперь смотрим на
/opt/muwine/prop/prop-prog/drive_c/users/
Там есть Public и есть каталог с именем юзера.
Вот этот каталог с именем юзера переименуем в all и удалим все софт-ссылки на каталоги в домашке юзера от которого создавали префикс.
Потом скрипт будет все переименовывать.
Теперь скрипт.
Копируем его в /usr/bin
Не забываем права.
И делаем правки:
Четыре строчки комментируем назад.
Исправляем ссылки на каталоги программы, в нашем случае
ln -s $WFILE/drive_c/prop $WPREF/drive_c/prop # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DIR
если надо вместо ссылок делаем копию (место занимает, но часть программ любит себе в каталог писать)
Ну и собственно почти все
Остаются мелкие правки — реестр и win.ini — если программа будет переносится и нужна печать.
Берем файл
/opt/muwine/prop/prop-prog/drive_c/windows/win.ini
и удаляем записи о принтерах — в районе [devices] и [PrinterPorts]
Потом смотрим в
/opt/muwine/prop/prop-prog/system.reg
/opt/muwine/prop/prop-prog/user.reg
и тоже удаляем записи о принтерах и о домашке юзера от которого создан префикс.
если сделать аккуратно — все работает, в том числе и принтеры
Потом
/opt/muwine/prop/
вместе с нужной версией wine пакуется в пакет — и вперед распространять
Как-то так
При формировании отчета (СКД) вылезает ошибка: Неверные параметры «И» При этом запрос, который используется в СКД, вне самой СКД замечательно выполняется и не выдает никаких ошибок. Может кто сталкивался, укажите направление поиска ошибки. Для поиска ошибки я последовательно удалял одну временную таблицу за другой, но результата не дало — ошибка перестала появляться после удаления всех временных таблиц до «Продажи» включительно. Однако если из запроса выкинуть эту таблицу, то ошибка все равно возникает. На всякий случай привожу текст запроса. ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ Пользователи.Ссылка КАК Пользователь, ЗанимаемыеДолжностиСрезПоследних.Сотрудник КАК ТА, ЗанимаемыеДолжностиСрезПоследних1.Сотрудник КАК СВ,
проблема не в запросе а в отборах скда
В настройках СКД только структура. Отборов и других настроек ( в том числе вычисляемых полей) нет. Ресурсов тоже нет.
а ну тогда наверное вот тут косяк убери параметры без фигурных скобок
Мужик, ты гений! с меня 200р на пиво!) Главное, в простых запросах эти параметры игнорируются и ошибки не возникает, а здесь вот не прокатило.
Очередная жертва автозаполнения в СКД
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
При попытке подключить внешний жесткий диск, SD-карту, USB-накопитель или другой носитель информации к устройству с Windows 11 или Windows 10 может появиться сообщение об ошибке «Параметр задан неверно«. Эта ошибка не позволяет вам получить доступ к файлам диска или открыть путь к папке диска. Если не устранить проблему своевременно, это может привести к потере важных файлов и данных. Это руководство покажет вам, что делать, если вы обнаружите эту необычную проблему на любом внешнем диске.
- Часть 1: Обзор ошибки Параметр задан неверно
- Часть 2: восстановить данные с жестких дисков с ошибкой Параметр задан неверенHOT
-
Часть 3: Как исправить ошибку Параметр задан неверно?
- Исправление 1: Выполните быструю проверку сканированием
- Исправление 2: Запустите CHKDSK
- Исправление 3: Запустите SFC сканирование
- Исправление 4: Проверьте вирус
- Исправление 5: Используйте DISM.exe
- Исправление 6: Обновите дисковод и USB драйвер
- Исправление 7: Изменение Десятичных Настроек
- Исправление 8: Переформатируйте диск
Часть 1: Обзор ошибки Параметр задан неверно
1. Что означает неправильный параметр?
Ошибка, при которой параметр неверен, не позволяет вам открыть устройство и получить доступ к вашим данным в Windows 10/8/7. Обычно он атакует внешний жесткий диск, флэш-накопитель USB или карту памяти SD и отображает сообщение «Местоположение недоступно, параметр неверен».
2. Основные причины этой ошибки
Было замечено, что эта ошибка возникает в результате одного из следующих факторов:
- Причина 1: Первая причина — устаревшая версия Windows.
- Причина 2: Неправильная конфигурация десятичного символа
- Причина 3: Поврежденные системные файлы
Устаревшая версия Windows является наиболее распространенной причиной этой ошибки. Если это так, пользователь должен применить исправление для устранения проблемы.
Эта ошибка может возникать на языках и локализациях, отличных от английского (США), если десятичному символу присвоено значение, отличное от «.» (точка).
Поврежденный или отсутствующий системный файл является еще одной возможной причиной этой ошибки. Это может произойти в результате ошибок записи на диск, перебоев в подаче электроэнергии или вирусных атак.
Если вы выполните действия, описанные в следующих разделах, вы сможете получить все данные, если диск недоступен, параметр неверен по многим причинам. Вы также успешно удалите ошибку со своего жесткого диска, внешнего жесткого диска, USB, SD и так далее.
Часть 2: восстановить данные с жестких дисков с ошибкой Параметр задан неверен
При возникновении ошибки параметра вы, возможно, не сможете получить доступ к данным на внешних дисках. Прежде чем устранять проблему, рекомендуется использовать профессиональный инструмент восстановления данных для извлечения файлов с поврежденных дисков. Tenorshare 4DDiG data recovery может восстанавливать данные с внешних жестких дисков, потерянных из-за форматирования, удаления, вирусной атаки и других причин, для устройств всех марок, включая Buffalo, WD, Seagate, Toshiba, Samsung, Lacie, Silicon, ADATA и другие. Теперь выполните три шага, чтобы восстановить потерянные данные с внешних жестких дисков.
- Восстановить данные с недоступных дисков.
- Восстановить данные после различных сценариев потери, таких как удаление, форматирование, RAW и т.д.
- Поддержка восстановления потерянных или удаленных данных с SD-карт, USB-накопителей, жестких дисков, карт памяти, цифровых фотоаппаратов и видеокамер, а также других устройств хранения данных.
- Поддержка восстановления данных с компьютеров Windows и Mac.
- Совместим с более чем 1000 типами файлов и файловыми системами, включая фотографии, видео, документы, аудио и другие.
- Подключите и выберите Внешний жесткий диск
- Просканируйте внешний жесткий диск
- Проверка и восстановление данных с внешнего жесткого диска
Чтобы продолжить, загрузите и установите Tenorshare 4DDiG Windows Data Recovery. Запустите приложение, подключите внешний жесткий диск с потерянными данными к компьютеру, а затем выберите внешний жесткий диск, чтобы начать сканирование.
4DDiG немедленно выполняет поиск отсутствующих данных на внешнем жестком диске, и вы можете приостановить или остановить поиск в любое время, если нашли файлы, которые хотите восстановить. Древовидное представление содержит такие категории, как Удаленные файлы, Существующие файлы, Потерянное местоположение, Необработанные файлы и Файлы тегов. Вы также можете использовать Просмотр файлов для просмотра таких типов файлов, как Фото, видео, Документ, Аудио, электронная почта и другие. Кроме того, в левой части панели вы можете выполнить поиск целевых файлов или использовать фильтр, чтобы сузить область поиска.
После определения местоположения целевых файлов вы можете просмотреть их и восстановить в безопасном месте. Пожалуйста, не сохраняйте в том же разделе, где вы потеряли свои данные в случае перезаписи диска и необратимой потери данных.
Часть 3: Как исправить ошибку Параметр задан неверно?
Исправление 1: Выполните быструю проверку сканированием
Просканируйте проблемный диск с помощью утилиты, чтобы увидеть, устраняет ли это проблему.
- Откройте Проводник, щелкните правой кнопкой мыши затронутый диск, а затем выберите Свойства в контекстном меню.
- Перейдите на вкладку Инструменты и нажмите кнопку Проверить.
- Чтобы продолжить, нажмите Сканировать и исправить диск.
Исправление 2: Запустите CHKDSK
- Прежде чем продолжить, обратите внимание на букву диска, на который был нанесен ущерб. В этом руководстве мы будем использовать Проводник для сканирования USB-накопителя с надписью F.
- Это может отличаться в зависимости от количества дисков, подключенных к вашему компьютеру. Выберите Командную строку в меню «Пуск», щелкнув по ней правой кнопкой мыши (Администратор).
- Введите chkdsk, затем оставьте пробел, введите букву диска, за которой следует двоеточие (в данном случае F:), затем оставьте пробел, введите /f, затем оставьте пробел, введите /r, а затем нажмите Enter. Команда должна быть записана следующим образом: F: chkdsk /f /r
- Утилита проверки диска запустит команду и просканирует диск на наличие ошибок и поврежденных секторов; это может занять несколько минут в зависимости от размера диска и количества файлов на нем. После сканирования инструмент Chkdsk уведомит вас, если он обнаружил проблему или поврежденные сектора.
Исправление 3: Запустите SFC сканирование
Проблема с неправильным параметром внешнего жесткого диска чаще всего возникает, когда системные файлы отсутствуют или повреждены в компьютерной системе. Проверка системных файлов (SFC) — это программа для Windows, которая может использоваться для сканирования поврежденных системных файлов. Инструмент автоматически найдет и исправит файлы для вас.
- Откройте командную строку Windows.
- Введите SFC /scannow в черном окне и нажмите Enter.
- Выйдите из командной строки по завершении процесса сканирования.
Перезагрузите компьютер и повторно подключите устройство, чтобы узнать, устранена ли проблема.
Исправление 4: Проверьте вирус
Если ошибка «Параметр неверен» вызвана вирусной инфекцией, утилита проверки диска и средство проверки системных файлов могут оказаться не в состоянии устранить проблему. Просканируйте пораженный диск с помощью антивирусного программного обеспечения, чтобы убедиться, что он обнаруживает какие-либо вирусы или вредоносное ПО. Если у вас еще нет антивируса, ознакомьтесь с нашими рекомендациями по выбору лучших антивирусных сканеров, которые уничтожат любой вирус.
Исправление 5: Используйте DISM.exe
В некоторых случаях ошибка параметра вызвана неправильной установкой программного обеспечения. Беги DISM.exe для восстановления установок Windows в таких случаях. Чтобы бежать DISM.exe , выполните следующие действия:
- Запустите командную строку в режиме администратора.
- Запустите: Dism /Online /Cleanup-Image /CheckHealth
- Дождитесь завершения процесса, а затем подключите внешний драйвер, у пользователей не должно возникнуть проблем.
Исправление 6: Обновите дисковод и USB драйвер
Если параметр «Диск недоступен» неверен Windows 10 для внутреннего или внешнего диска устарел или работает со сбоями, возможно, вы не сможете получить к нему доступ. Чтобы проверить состояние поврежденного диска и обновить его драйверы, выполните следующие действия.
- В проводнике щелкните правой кнопкой мыши диск и выберите Свойства.
- Перейдите на вкладку «Оборудование», чтобы просмотреть драйверы, которые питают диск. Проверьте раздел Свойств устройства после выбора дисковода.
- Выберите драйвер, а затем нажмите «Свойства». Вам следует обновить все драйверы в списке, потому что вы никогда не знаете, какой из них вызывает ошибку «Параметр неверен».
- Выберите Изменить настройки на вкладке Общие.
- Перейдите на вкладку Драйвер и выберите Обновить драйвер.
- Выберите автоматический поиск обновленного программного обеспечения драйвера.
Если статус устройства не показывает «Устройство работает должным образом», это проблема с драйвером. Даже если все в порядке, переходите к следующему шагу по обновлению драйверов.
Windows будет искать самую последнюю версию этого драйвера на вашем компьютере, а также в Интернете. Для достижения наилучших результатов убедитесь, что ваш компьютер подключен к Интернету через Wi-Fi или Ethernet. Повторите эти действия для всех дисководов, затем перезагрузите компьютер и попробуйте открыть диск еще раз.
Исправление 7: Изменение Десятичных Настроек
Ошибки параметров могут быть вызваны синтаксической ошибкой в формате даты и времени. Чтобы убедиться, что это не так, выполните следующие действия.
- Откройте меню «Панель управления -> Часы и регион».
- Выберите «Регион: Измените форматы даты, времени или чисел».
- Перейдите в раздел «Дополнительные настройки» и убедитесь, что используется десятичный символ «.».
Исправление 8: Переформатируйте диск
Если ни один из вышеперечисленных методов не работает, скорее всего, поврежден внешний диск, который можно восстановить только путем переформатирования. В случае, если параметр Windows 10 неверен, перейдите в меню «Этот компьютер», выберите внешний диск, щелкните правой кнопкой мыши и выберите «Форматировать». Форматирование диска в конечном итоге приведет к удалению всех данных на нем, вы все равно можете восстановить данные с отформатированного диска с помощью профессионального инструмента восстановления данных.
Заключение:
Описанные выше шаги помогут устранить ошибку «Параметр неверен» как в Windows 11, так и в Windows 10. Кроме того, чтобы сохранить оптимизацию системы и избежать проблем в будущем, мы рекомендуем запустить лучшее средство восстановления данных ПК. Вы также можете выполнить все действия всего несколькими щелчками мыши. Эта программа позволяет восстанавливать широкий спектр файлов из различных ИТ-сред, таких как жесткие диски, разделы и цифровые камеры. Программа защищает наиболее широко используемые операционные системы, включая Windows, Mac и Linux. Это также экономит ваше время, позволяя предварительно просмотреть восстанавливаемые файлы, прежде чем приступать к длительным процессам восстановления. Tenorshare 4DDiG data recovery может быть правильным выбором для вашей организации, если вам нужен комплексный программный продукт для восстановления данных, который может восстанавливать файлы и информацию из вашей ИТ-экосистемы.