Регистрация ActiveX компонента в Win7-8.

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Регистрация ActiveX компонента в Win7-8.

Сообщение Mikle » 23.11.2013 (Сб) 10:28

Я тут принял участие в одном конкурсе, требуется создать игру, чтобы архив с игрой не занимал более 64 кБ. Игра не должна требовать никаких библиотек или фреймворков, не входящий изначально в WinXP, 7 или 8. Я решил вспомнить прошлое и сделать игру на DX8, дела продвигаются нормально, игра в WinXP работает и ничего не требует, но, для удобства тестирующих, я решил помочь им с запуском на более новых Windows - для этого всего-то нужно зарегистрировать dx8vb.dll.
Сначала я положил dll в папку и написал такой bat файл:
Код: Выделить всё
regsvr32 dx8vb.dll

Выяснилось, что команда не видит текущий путь, переписал:
Код: Выделить всё
regsvr32 %~dp0dx8vb.dll

Это почему-то срабатывает не у всех. Кроме того, сейчас уже мало иметь учётку с правами админа и запустить этот файл, нужно запустить этот файл от имени админа (правой кнопкой мыши, "Запуск от имени администратора"). Я прописал это в ReadMe, но люди не склонны вникать в написанное, я сделал такой bat файл:
Код: Выделить всё
@echo off

:: BatchGotAdmin
:-------------------------------------
REM  --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges...
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    set params = %*:"=""
    echo UAC.ShellExecute "%~s0", "%params%", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    pushd "%CD%"
    CD /D "%~dp0"
:--------------------------------------

regsvr32 %~dp0dx8vb.dll

Это тоже не у всех работает.
В принципе, это лишняя морока - правила конкурса не нарушены, но есть во мне нудный перфекционизм. Может подскажете более разумное решение?
Во вложении демо игры в текущем состоянии, это ещё далеко не всё.
Вложения
HelloWin.zip
(528 Кб) Скачиваний: 133

bon818
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 267
Зарегистрирован: 29.08.2009 (Сб) 4:49
Откуда: Ташкент

Re: Регистрация ActiveX компонента в Win7-8.

Сообщение bon818 » 23.11.2013 (Сб) 14:11

XP-3sp

---------------------------
HelloWin
---------------------------
Run-time error '-2005530516 (8876086c)':

Automation error
---------------------------
ОК
---------------------------

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Регистрация ActiveX компонента в Win7-8.

Сообщение Хакер » 23.11.2013 (Сб) 14:48

Ты эту библиотеку с собой что-ли таскаешь?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Регистрация ActiveX компонента в Win7-8.

Сообщение Mikle » 23.11.2013 (Сб) 15:24

bon818 писал(а):Run-time error

Видеокарта какая?
Хакер писал(а):Ты эту библиотеку с собой что-ли таскаешь?

Это архив для тех, кто хочет потестить на новой винде, в XP dx8vb уже есть и зарегистрирована.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Регистрация ActiveX компонента в Win7-8.

Сообщение Хакер » 23.11.2013 (Сб) 15:27

Mikle писал(а):Это архив для тех, кто хочет потестить на новой винде, в XP dx8vb уже есть и зарегистрирована.


Тут вопрос даже глубже: ты всё продолжаешь заниматься самоистязанием с ипользованием этой библиотеки, вместо того, чтобы сделать TLB-шку для DX8 или DX9 (или больше, если там тот же COM в основе)?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Регистрация ActiveX компонента в Win7-8.

Сообщение Mikle » 23.11.2013 (Сб) 15:53

Конкретно ЭТУ библиотеку я уже лет пять не использую, с тех пор, как написал свою для DX9. Просто сейчас понадобилась минимизация, вот я и "тряхнул стариной".
Сделать TLB? Да, было бы не плохо, но, откровенно говоря, лень разбираться, я никогда их не делал.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Регистрация ActiveX компонента в Win7-8.

Сообщение Хакер » 23.11.2013 (Сб) 15:55

Mikle писал(а):Сделать TLB? Да, было бы не плохо, но, откровенно говоря, лень разбираться, я никогда их не делал.

Вот и зря. С тех пор, как мы это обсуждали, уже можно было в hex-редакторе научиться их делать :) Сейчас бы и вопроса не было.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Re: Регистрация ActiveX компонента в Win7-8.

Сообщение BV » 25.11.2013 (Пн) 13:12

Майкл, а манифест и requestedExecutionLevel -- уже не модно?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Регистрация ActiveX компонента в Win7-8.

Сообщение Mikle » 25.11.2013 (Пн) 14:13

BV писал(а):манифест и requestedExecutionLevel -- уже не модно?

Скорее ещё не модно :).


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

    TopList  
cron