Написать скрипт на NSIS
Необходимо написать скрипт на юникодовом NSIS.
Исходные данные:
1. Нужно положить файл sample.dll в папку, которую указал пользователь (по умолчанию - {$PROGRAM_FILES}\SAMPLE)
2. Прописать в конфигурации системы все пути на установленную sample.dll (правила смотри ниже)
3. В деинсталятор внедрить возможность удаления sample.dll и папки ее содержащей, если она больше ничего не содержит, а также выписать ее из системы
Желательно использовать распостраненный XML плагин для NSIS.
Правила прописывания sample.dll в систему
1. В реестре по пути "HKLM\Software\D-PDU API" в ключе "Root File" хранится путь на XML файл, в котором нужно прописать sample.dll
Если такого пути/ключа нет, инсталятор должен его создать. Значение при этом должно быть "C:\Program Files (x86)\D-PDU API\pdu_api_root.xml", или без x86, если система 32-разрядная
2. Вот пример XML файла, с единственной прописанной sample.dll:
<?xml version="1.0" encoding="utf-8"?>
<MVCI_PDU_API_ROOT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" MVCI_PART2_STANDARD_VERSION="2.2.0">
<MVCI_PDU_API>
<SHORT_NAME>SAMPLETECH2WIN</SHORT_NAME>
<DESCRIPTION>Sample Tech2Win Driver</DESCRIPTION>
<SUPPLIER_NAME>Sample LTD</SUPPLIER_NAME>
<LIBRARY_FILE URI="file:///C:/Program Files (x86)/SAMPLE/sample.dll"/>
</MVCI_PDU_API>
</MVCI_PDU_API_ROOT>
Однако, pdu_api_root.xml может содержать уже прописанные имена сторонних DLL в системе (их количество ничем не ограничего), и информацию о нашем sample.dll нужно корректно вставить в этот файл. Вот пример:
<?xml version="1.0" encoding="utf-8"?>
<MVCI_PDU_API_ROOT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" MVCI_PART2_STANDARD_VERSION="2.2.0">
<MVCI_PDU_API>
<SHORT_NAME>SAMPLETECH2WIN_1</SHORT_NAME>
<DESCRIPTION>Sample Tech2Win Driver_1</DESCRIPTION>
<SUPPLIER_NAME>Sample LTD_1</SUPPLIER_NAME>
<LIBRARY_FILE URI="file:///C:/Program Files (x86)/SAMPLE_1/sample_1.dll"/>
</MVCI_PDU_API>
<MVCI_PDU_API>
<SHORT_NAME>SAMPLETECH2WIN_2</SHORT_NAME>
<DESCRIPTION>Sample Tech2Win Driver_2</DESCRIPTION>
<SUPPLIER_NAME>Sample LTD_2</SUPPLIER_NAME>
<LIBRARY_FILE URI="file:///C:/Program Files (x86)/SAMPLE_2/sample_2.dll"/>
</MVCI_PDU_API>
<MVCI_PDU_API>
<SHORT_NAME>SAMPLETECH2WIN</SHORT_NAME>
<DESCRIPTION>Sample Tech2Win Driver</DESCRIPTION>
<SUPPLIER_NAME>Sample LTD</SUPPLIER_NAME>
<LIBRARY_FILE URI="file:///C:/Program Files (x86)/SAMPLE/sample.dll"/>
</MVCI_PDU_API>
</MVCI_PDU_API_ROOT>
Также возможен вариант, когда в системе уже прописан sample.dll, и требуется обновить pdu_api_root.xml.
Например, нужно заменить путь "file:///C:/Program Files (x86)/SAMPLE/sample.dll" на другой. При этом инсталятор должен найти запись о нашей DLL по вот этому ключу: <SHORT_NAME>SAMPLETECH2WIN</SHORT_NAME> и обновить поле LIBRARY_FILE URI
Правила деинсталятора
1. Найти нашу запись по <SHORT_NAME>SAMPLETECH2WIN</SHORT_NAME> и удалить всю информацию, обновив таким образом XML файл
2. Удалить sample.dll, если папка после удаления пустая, то удалить и папку
Оплата Webmoney или по договоренности
-
5 днів1200 UAH
967 57 0 5 днів1200 UAHЗдравствуйте, буду рад вам помочь с исполнением Вашего задания.
Могу вас заверить что работа будет сделана быстро и качественно,
что доказано хорошим рейтингом сдесь на бирже.
Отпишите, готов сотрудничать.
-
3 дні1000 UAH
2662 53 0 1 3 дні1000 UAHготов реализовать
-
Все проекты на NSIS сделаны, не хочется зоопарк решений делать.
-
Актуальні фриланс-проєкти в категорії Десктопні додатки
Додати паузи 10-30 секунд між відправками листівВітаю! Шукаю досвідченого програміста 1С / BAS (BAF) для оперативного вирішення технічної проблеми з поштовою розсилкою.Суть проблеми: Використовуємо бухгалтерську програму BAF (Business Automation Framework), редакция 2.0. Раз на місяць виникає потреба масово відправляти… Веб-програмування, Десктопні додатки ∙ 11 годин 33 хвилини тому ∙ 7 ставок |
Реверс-інжиніринг консольних утиліт для опитування контролерів SSD (Flash ID)1. Мета роботиВиділення програмного інтерфейсу (API) взаємодії з контролерами SSD/NVMe з наданого набору консольних утиліт (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron та ін.). Результатом має стати робочий код мовою C/C++ або точна документація структур для… C та C++, Десктопні додатки ∙ 22 години 56 хвилин тому ∙ 5 ставок |
Модифікація в роботі емулятора
2000 UAH
Доброго дня. Я скачав з Інтернету емулятор ігрового автомата gaminator cf final. Він мені дуже сподобався, але там є недоліки. Є адмін панель, але вона відкривається вільно, але не закривається взагалі. Закривається тільки разом з додатком. А дані, після зміни в адмін панелі -… Десктопні додатки ∙ 8 днів 12 годин тому ∙ 10 ставок |
Розробка кастомного ПЗ (Android-додатка + CMS) для кіосків самообслуговування SUNMI K2 (Фастфуд)
1000 UAH
Шукаємо досвідчену команду або Middle/Senior Android-розробника (можливо, з Full-stack навичками) для створення власного програмного забезпечення для кіосків самообслуговування ритейл-мережі закладу швидкого харчування. Зараз наші термінали працюють на базі готового хмарного… CMS, Десктопні додатки ∙ 13 днів 8 годин тому ∙ 23 ставки |