Показать полную графическую версию : [решено] Не прописываемое значение...
Dodakaedr
04-11-2014, 11:50
Скажите, пожалуйста, как импортировать такой ключ через cmd/bat?Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Code Systems]
[HKEY_LOCAL_MACHINE\SOFTWARE\Code Systems\Spoon IDE]
"LicenseCertificate"="<?xml version=\"1.0\" encoding=\"utf-16\"?><LicenseCertificate version=\"2\" publisher=\"Spoon\"><LicenseType>Retail</LicenseType><LicenseModel>Site</LicenseModel><ProductCode>ALL</ProductCode><LicenseeName>LineZer0</LicenseeName><Account>LineZer0</Account><Signature>
b741fb7157f38cbdfbe9e41faa55d72baba67d350ec7f2ba38236a01e06476f1
f4d6e184a49ce6716162935d2768aed3e583afcf7f8b59be415c57898dca0d67
289c342633b590bb2b342f97e92872e86de1434c9e84d6757638786e5abf24cd
e6394692e1012b93e517b27d38721c94dac5c0964a6d6b63826e314dd0dbe41d
</Signature></LicenseCertificate>"
<?xml version="1.0" encoding="utf-16"?>
<LicenseCertificate version="2" publisher="Spoon">
<LicenseType>Retail</LicenseType>
<LicenseModel>Site</LicenseModel>
<ProductCode>ALL</ProductCode>
<LicenseeName>LineZer0</LicenseeName>
<Account>LineZer0</Account>
<Signature>
b741fb7157f38cbdfbe9e41faa55d72b
aba67d350ec7f2ba38236a01e06476f1
f4d6e184a49ce6716162935d2768aed3
e583afcf7f8b59be415c57898dca0d67
289c342633b590bb2b342f97e92872e8
6de1434c9e84d6757638786e5abf24cd
e6394692e1012b93e517b27d38721c94
dac5c0964a6d6b63826e314dd0dbe41d
</Signature>
</LicenseCertificate>
При обычном импорте параметр LicenseCertificate почему-то не создается.
При обычном импорте »
Что подразумевается под «обычным импортом»?
Dodakaedr
04-11-2014, 17:47
Что подразумевается под «обычным импортом»? »
Вот экспортировал ключ, удалил его с реестра, а потом хотел импортировать обратно, но параметр LicenseCertificate уже не создается.
Dodakaedr, тип значения какой — строка, многострочный параметр? Например, покажите скриншот такого вида:
http://i.imgur.com/sm1gFNN.png
Dodakaedr
05-11-2014, 16:28
Спасибо! Уже помогли...разобрался.
Понимаю что тема вроде закрыта.
Если кто может отпишитесь. Каким образом решена данная проблема.
Всё как на скриншоте постом выше.
Понимаю что тема вроде закрыта. »
Коль Вы в неё можете написать — то нет, не закрыта.
Каким образом решена данная проблема. »
Сие осталось покрыто мраком, ибо коллега Dodakaedr не счёл потребным дать каких-либо пояснений. Но Вы можете написать ему в личку или на почту, он периодически появляется на конференции.
Вообще я был уверен что если по каким-то причинам мне придётся сделать откат системы то ключ реестра должен будет восстановиться, с большой долей вероятности.
Выходит в данном конкретном случае, средствами Windows не получится сделать "экспорт-импорт" ключа.
Либо писать утилитку под эту операцию, либо переустанавливать софт.
Выше указанный ключ, невозможно добавить в реестр.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Code Systems]
[HKEY_LOCAL_MACHINE\SOFTWARE\Code Systems\Spoon IDE]
"LicenseCertificate"="<?xml version=\"1.0\" encoding=\"utf-16\"?><LicenseCertificate version=\"2\" publisher=\"Spoon\"><LicenseType>Retail</LicenseType><LicenseModel>Site</LicenseModel><ProductCode>ALL</ProductCode><LicenseeName>LineZer0</LicenseeName><Account>LineZer0</Account><Signature>
b741fb7157f38cbdfbe9e41faa55d72baba67d350ec7f2ba38236a01e06476f1
f4d6e184a49ce6716162935d2768aed3e583afcf7f8b59be415c57898dca0d67
289c342633b590bb2b342f97e92872e86de1434c9e84d6757638786e5abf24cd
e6394692e1012b93e517b27d38721c94dac5c0964a6d6b63826e314dd0dbe41d
</Signature></LicenseCertificate>"
Имеется ввиду из него сделать reg-файл и запустить его. Ветка пропишется а вот строковой параметр нет.
khasia, вопрос тот же — как был сделан этот файл реестра? Также хотелось бы посмотреть на оригинальное содержимое данного параметра в реестре.
В принципе, при экспорте могут быть ошибки, приводящие в созданию некорректного файла реестра, который невозможно будет потом импортировать. Потому и хотелось бы посмотреть оригинал в самом реестре, дабы понять, как он выглядит на самом деле, и что можно сделать.
Он такой же как в вашем посте #4
Вот ещё один
http://jpegshare.net/thumbs/12/74/12743edeecc674fe0f611bcb511b4f9a.jpg (http://jpegshare.net/12/74/12743edeecc674fe0f611bcb511b4f9a.jpg.html)
Он такой же как в вашем посте #4
Вот ещё один »
Вы знаете, по виду — не совсем такой же. Обратите внимание на то, что я обвёл красным:
http://i.imgur.com/pUUjU9t.png
Выделенное — концы строк. Есть ли они у Вас (и должны ли они быть — я-то ведь просто пример показывал) — сложно сказать.
Давайте попробуем так, дабы я смог попытаться «поиграться» и «пощупать». Выполните сохранение искомого подраздела во внешний куст командой (вместо выделенного подставьте Ваш путь в реестре):
reg.exe save "HKEY_LOCAL_MACHINE\SOFTWARE\Code Systems\Spoon IDE" "Sample.hiv"
Упакуйте полученный Sample.hiv в архив и приложите к сообщению.
Упакуйте полученный Sample.hiv в архив и приложите к сообщению. »
khasia, примерно ясно. Вот как он выглядит в реальности:
http://i.imgur.com/NTYfoql.png
И, видимо, поэтому на этапе экспорта C-шные функции работы со строкой воспринимают эти данные как свои escape-последовательности (конец строки в формате Windows из пары символов CrLf) и пишут их в экспортируемый файл. Обратного же преобразования в escape-последовательности, естественно, не производится.
Предлагаю два варианта:
1. Использовать формат кустов — уже знакомый Вам:
reg.exe save "Путь к подразделу" "Файл.hiv"
для экспорта куста и:
reg.exe restore "Путь к подразделу" "Файл.hiv"
для импорта. Не так наглядно, но работает.
2. Учитывая тот факт, что по стандарту xml должен быть индифферентен к пробельным символам (теоретически должен, на практике же всё зависит от конкретного парсера xml), попробовать в полученном путём экспорта файле реестра .reg (reg.exe export) «ручками» убрать все концы строк, дабы получилась одна строка, наподобие (на путь к подразделу не смотрите — это пример, у Вас путь будет свой):
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Sample]
"LicenseCertificate"="<?xml version=\"1.0\" encoding=\"utf-16\"?><LicenseCertificate version=\"2\" publisher=\"Spoon\"> <LicenseType>Retail</LicenseType> <LicenseModel>Site</LicenseModel> <ProductCode>ALL</ProductCode> <LicenseeName>LineZer0</LicenseeName> <Account>LineZer0</Account> <Signature> b741fb7157f38cbdfbe9e41faa55d72b aba67d350ec7f2ba38236a01e06476f1 f4d6e184a49ce6716162935d2768aed3 e583afcf7f8b59be415c57898dca0d67 289c342633b590bb2b342f97e92872e8 6de1434c9e84d6757638786e5abf24cd e6394692e1012b93e517b27d38721c94 dac5c0964a6d6b63826e314dd0dbe41d </Signature></LicenseCertificate>"
Затем сделайте резервную копию в виде экспорта куста реестра путём вышеприведённой команды reg.exe save …, затем попробуйте импортировать отредактированный файл реестра .reg. Затем попробуйте запустить приложение/приложения, которые работают с данным параметром реестра, и посмотреть, всё ли будет в порядке. Если всё будет нормально — значит второй путь также годится к использованию.
Есть и ещё один вариант, связанный опять же с ручной подстановкой \r\n в экспортированный файл реестра, но есть подозрение, что при попытке импорта наступим на те же грабли. Посему пока даже не проверял сие.
У меня в результате экспериментов, вроде получилось. Вот как добился.
1. Экспортирую ветку в reg-файл, получаю содержимое REG-ключа такого же вида как в шапке.
2. Открываю в текстовом редакторе и привожу его к виду, как в последнем примере в вашем предыдущем посте. Т.е значение в одну строчку и без пробелов, и сохраняю в ЮНИКОДЕ. И всё прописывается. Если не трудно проверьте на корректность.
и без пробелов »
Пробелы как раз не существенны. Проблема состоит в escape-последовательностях, которые воспринимаются и обрабатываются «как свои» C-шными функциями работы со строками редактора реестра и утилиты reg.exe, как я писал чуть выше.
и сохраняю в ЮНИКОДЕ. »
Так файл и так будет в юникоде (UTF-16LE/1200) уже при экспорте из реестра.
Если не трудно проверьте на корректность. »
А как я могу проверить? Тут только Вы сами:
Затем попробуйте запустить приложение/приложения, которые работают с данным параметром реестра, и посмотреть, всё ли будет в порядке. Если всё будет нормально — значит второй путь также годится к использованию. »
У меня-то этих приложений нет.
Да проверил, приложение работает нормально.
Спасибо за помощь.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.