При установке eFootball PES 2021 вылетают две ошибки.
2: Runtime error (at 325:415) Внутренняя ошибка: An attempt was made to access WizardForm before it has been created.
WIndows 10
При запуске установки таких игр, как Avarice, It-Lies, Insomnia-Awaken появляется ошибка:
Runtime Error (at 356:2321):
Out Of Range
Runtime Error (at 356:2333):
Out Of Range
Runtime Error (at 356:2347):
Out Of Range
Решение
“помогла установка исправлений на NET Framework 4.0 NDP40-KB2416472-x64 NDP40-KB2446708-x64”, но для Windows 10 не подходит, исправление для Windows 7.
Из каких источников скачаны данные игры?
NET Framework 4.0 уже вшит в систему. Кстати, Сделайте скриншот активации из меню Пуск-Параметры-Обновление и безопасность-Активация и прикрепите к ответу
При установке Fallout 3 вылетают две ошибки. 1: Runtime error (at 361:3979): Out of string range 2: Runtime error (at 316:415) Внутренняя ошибка: An attempt was made to access WizardForm before it has been created.
19.09.2010
776173
Ошибку runtime error могут вызвать множество причин и одна из самых распространенных – это установка новых версий программ поверх уже установленных, что приводит к появлению ошибок в системном реестре. Другая распространенная причина – связана с деятельностью различных вирусов, троянов и рекламных шпионов, которые проникают на ваш компьютер и могут удалить, либо модифицировать критически важные файлы вашей операционной системы.
Ошибку runtime error достаточно легко исправить. В 99% случаев, любой чистильщик реестра поможет восстановить удаленные файлы, либо исправить поврежденные. Чистильщики реестра специально разработаны для исправления большинства ошибок, связанных с runtime error, в том числе и runtime error 91, runtime error 13 и многих других, т.к. они проверяют целостность файловой системы.
Скачайте и установите себе программу для чистки реестра, например, CCleaner. Проведите полное сканирование вашего компьютера и найдите причины, которые вызывают ошибку runtime error. В зависимости от количества файлов на вашем компьютере, сканирование может занять время от нескольких минут до получаса. Приятным дополнением будет то, что чистильщик реестра не только исправит ошибки вида runtime error, но и увеличит производительность вашего компьютера.
P.S.1. Еще советы по устранению ошибки runtime error вы можете найти здесь.
P.S.2. Если у вас ошибка: “This application has requested the runtime to terminate it in an unusual way. Please contact the application’s support team for more information”, то вам сюда.
Если вы ищете как runtime error исправить — вы попали по адресу.
Причин появления таковой может быть огромное множество.
Чаще всего причина состоит в том, что выходит новая версия того или иного приложения/игры и она устанавливается прямо поверх старой.
Хотя это далеко не единственная ситуация, которая может вызвать ее появление.

После того, как вы нажимаете на единственную кнопку в окне ошибки, оно просто закрывается и программа также перестает работать.
Бывает, что она все же продолжает работать, но в ней невозможно ничего сохранить. В любом случае, есть несколько способов исправить ее.

Как выглядит ошибка
Способ №1. CCleaner
Самое простое решение заключается в том, чтобы воспользоваться программой для чистки реестра. Как это работает?
Все просто – чистильщик реестра, собственно, и предназначен для того, чтобы исправлять всевозможные проблемы, вроде той, которую рассматриваем мы, систематизировать файлы и добавлять то, чего недостает ему для нормальной работы.
Лучшей по праву считается CCleaner, хотя вы можете воспользоваться и другой.
Чтобы использовать ее, сделайте вот что:
- Скачайте (вот ссылка на бесплатную) и установите программу.
- Запустите. Перейдите на вкладку «Реестр» на панели слева.
- В разделе «Целостность» поставьте галочки на всех возможных пунктах – никто не знает, в чем именно проблема.
- Нажмите кнопку «Поиск проблем». Когда этот процесс закончится, нажмите кнопку «Исправить…».

Использование
- Подождите, пока приложение исправит все проблемы. Перезагрузите компьютер.
После этого runtime error должен перестать появляться. Если нет, переходим к следующему решению.
Способ №2. DirectX
Вполне вероятно, что ее появление вызывают какие-то проблемы с DirectX. Возможно, какие-то файлы исполняемых библиотек были повреждены или же существующие библиотеки банально устарели.
В любом случае, лучше всего просто установить наиболее актуальные варианты и, опять же, перезагрузить компьютер.
Для этого зайдите на сайт Microsoft, на страницу с возможностью скачать DirectX. Запустите скачанный файл и выполните все действия, подразумевающие установку исполняемых библиотек.
Здесь нет никаких особых рекомендаций – обычная.

Страница загрузки DirectX
Если после установки и перезагрузки компьютера ошибка не исчезла, идем дальше.
Способ №3. Visual C++
О распространяемом пакете Visual C++ в контексте рассматриваемой проблемы можно скачать то же самое, что и о библиотеках DirectX.
Возможно, какие-то файлы были повреждены или версия устарела.
Бывают в данном случае и другие ситуации, когда установленная C++ попросту не подходит для вашей операционной системы.
Ниже приведена таблица с вариантами, которые подходят для разных версий ОС.
Таблица 1. Требуемые версии Visual C++ для Windows
| Операционная система | Требуемая Visual C++ |
|---|---|
| Windows XP и ниже | C++2008 |
| Windows 7 | C++2010 |
| Windows 8 и 10 | Наиболее актуальная на данный момент |
Так вот, в зависимости от того, какая у вас ОС, вам следует скачать и инсталировать на свой компьютер C++2008 (64-бит, 32-бит), C++2010 (64-бит, 32-бит) или же C++2015 обновление 3.
Это наиболее актуальная версия по состоянию на июнь 2017 года. В будущем выйдут новые, поэтому следите за новостями на официальном сайте Microsoft.
Скачивание происходит одинаково – выбираем язык распространяемого компонента и жмем кнопку «Скачать». После этого останется запустить загруженный файл.
После этого перезагрузите компьютер.

Страница загрузки Visual C++
Способ №4. Microsoft .NET Framework
Здесь все то же самое – Microsoft .NET Framework тоже может вызывать рассматриваемую проблему из-за отсутствия каких-то собственных файлов. И этот компонент также нужно скачать и установить.
Но есть определенный, правильный порядок ее инсталяции:
Сначала необходимо инсталируйте версию 2.0 (вот ссылка). Попробуйте запустить программу, в которой раньше возникала проблема, если она не исчезла, устанавливайте дальше.
После этого 3.0 (скачать).
Если не помогает, 4.0 (ссылка).
Наконец, если у вас Windows Vista SP2, 7 SP1, 8, 8.1, Server 2008 SP2, Server 2008 R2 SP1, Server 2012 или Server 2012 R2, установите 4.6.2 (скачать).
Скачивание происходит точно так же, как и в случае с пакетами Visual C++.
Если ничего из этого не помогает, значит, случился сбой самой операционной системы. Пригласите на дом специалиста или сдайте компьютер в сервисный центр, если это возможно.
В крайнем случае, сделайте откат системы или вовсе переустановите ее.
Источник
Самые легкие способы исправить ошибку [runtime error]
Если вы ищете как runtime error исправить — вы попали по адресу.
Причин появления таковой может быть огромное множество.
Чаще всего причина состоит в том, что выходит новая версия того или иного приложения/игры и она устанавливается прямо поверх старой.
Хотя это далеко не единственная ситуация, которая может вызвать ее появление.

После того, как вы нажимаете на единственную кнопку в окне ошибки, оно просто закрывается и программа также перестает работать.
Бывает, что она все же продолжает работать, но в ней невозможно ничего сохранить. В любом случае, есть несколько способов исправить ее.

Как выглядит ошибка
Способ №1. CCleaner
Самое простое решение заключается в том, чтобы воспользоваться программой для чистки реестра. Как это работает?
Все просто – чистильщик реестра, собственно, и предназначен для того, чтобы исправлять всевозможные проблемы, вроде той, которую рассматриваем мы, систематизировать файлы и добавлять то, чего недостает ему для нормальной работы.
Лучшей по праву считается CCleaner, хотя вы можете воспользоваться и другой.
Чтобы использовать ее, сделайте вот что:

После этого runtime error должен перестать появляться. Если нет, переходим к следующему решению.
Способ №2. DirectX
Вполне вероятно, что ее появление вызывают какие-то проблемы с DirectX. Возможно, какие-то файлы исполняемых библиотек были повреждены или же существующие библиотеки банально устарели.
В любом случае, лучше всего просто установить наиболее актуальные варианты и, опять же, перезагрузить компьютер.
Для этого зайдите на сайт Microsoft, на страницу с возможностью скачать DirectX. Запустите скачанный файл и выполните все действия, подразумевающие установку исполняемых библиотек.
Здесь нет никаких особых рекомендаций – обычная.

Страница загрузки DirectX
Если после установки и перезагрузки компьютера ошибка не исчезла, идем дальше.
Способ №3. Visual C++
О распространяемом пакете Visual C++ в контексте рассматриваемой проблемы можно скачать то же самое, что и о библиотеках DirectX.
Возможно, какие-то файлы были повреждены или версия устарела.
Бывают в данном случае и другие ситуации, когда установленная C++ попросту не подходит для вашей операционной системы.
Ниже приведена таблица с вариантами, которые подходят для разных версий ОС.
Таблица 1. Требуемые версии Visual C++ для Windows
| Операционная система | Требуемая Visual C++ |
|---|---|
| Windows XP и ниже | C++2008 |
| Windows 7 | C++2010 |
| Windows 8 и 10 | Наиболее актуальная на данный момент |
Так вот, в зависимости от того, какая у вас ОС, вам следует скачать и инсталировать на свой компьютер C++2008 (64-бит, 32-бит), C++2010 (64-бит, 32-бит) или же C++2015 обновление 3.
Это наиболее актуальная версия по состоянию на июнь 2017 года. В будущем выйдут новые, поэтому следите за новостями на официальном сайте Microsoft.
Скачивание происходит одинаково – выбираем язык распространяемого компонента и жмем кнопку «Скачать». После этого останется запустить загруженный файл.
После этого перезагрузите компьютер.

Страница загрузки Visual C++
Но есть определенный, правильный порядок ее инсталяции:
Сначала необходимо инсталируйте версию 2.0 (вот ссылка). Попробуйте запустить программу, в которой раньше возникала проблема, если она не исчезла, устанавливайте дальше.
Если не помогает, 4.0 (ссылка).
Наконец, если у вас Windows Vista SP2, 7 SP1, 8, 8.1, Server 2008 SP2, Server 2008 R2 SP1, Server 2012 или Server 2012 R2, установите 4.6.2 (скачать).
Скачивание происходит точно так же, как и в случае с пакетами Visual C++.
Если ничего из этого не помогает, значит, случился сбой самой операционной системы. Пригласите на дом специалиста или сдайте компьютер в сервисный центр, если это возможно.
В крайнем случае, сделайте откат системы или вовсе переустановите ее.
Источник
Почему проверка WizardForm на null в Inno setup не работает?
Почему это не работает?
Я получаю это исключение:
Я знаю, что WizardForm еще не инициализирован, поэтому я проверяю на ноль, проверка не работает! Что я здесь делаю не так?
2 ответа
Мне нужно подать команду: bcdedit /set recoveryenabled No но это не работает с настройкой Inno. Я попробовал, как показано ниже: [Setup] PrivilegesRequired=admin [Run] Filename: ; Parameters: /c bcdedit.exe /set recoveryenabled No; Но я все равно вижу, что No не применяется. Как вы.
Есть ли другой способ проверить null?
Похожие вопросы:
Я хотел бы написать установщик Inno Setup для моего приложения, который может быть установлен несколько раз и также отображается несколько раз в Programs and Feautres с разными именами (на основе.
Мне нужно подать команду: bcdedit /set recoveryenabled No но это не работает с настройкой Inno. Я попробовал, как показано ниже: [Setup] PrivilegesRequired=admin [Run] Filename: ;.
Моя проблема заключается в том, почему компилятор Inno Setup (Unicode или ANSI) и любые настройки, сделанные им, не минимизируют отображение хорошей минимизирующей анимации, как в других программах.
Я создал несколько пользовательских флажков на готовой странице настройки Inno. Например, запуск приложения, Открытие текстового файла и т. д. Мне нужно, когда пользователь нажимает на кнопку.
У меня есть сценарий установки Inno, чтобы превратить мое приложение в exe. Когда я компилирую код с помощью Inno Setup версии 6, размер выходного файла составляет 110 МБ (как показано в столбце.
Источник
4663(S): An attempt was made to access an object.
Applies to
Event Description:
This event indicates that a specific operation was performed on an object. The object could be a file system, kernel, or registry object, or a file system object on removable storage or a device.
This event generates only if object’s SACL has required ACE to handle specific access right use.
The main difference with “4656: A handle to an object was requested.” event is that 4663 shows that access right was used instead of just requested and 4663 doesn’t have Failure events.
NoteВ В For recommendations, see Security Monitoring Recommendations for this event.
Event XML:
Required Server Roles: None.
Minimum OS Version: Windows Server 2008, Windows Vista.
Event Versions:
Field Descriptions:
Subject:
NoteВ В A security identifier (SID) is a unique value of variable length used to identify a trustee (security principal). Each account has a unique SID that is issued by an authority, such as an Active Directory domain controller, and stored in a security database. Each time a user logs on, the system retrieves the SID for that user from the database and places it in the access token for that user. The system uses the SID in the access token to identify the user in all subsequent interactions with Windows security. When a SID has been used as the unique identifier for a user or group, it cannot ever be used again to identify another user or group. For more information about SIDs, see Security identifiers.
Account Name [Type = UnicodeString]: the name of the account that made an attempt to access an object.
Account Domain [Type = UnicodeString]: subject’s domain or computer name. Formats vary, and include the following:
Domain NETBIOS name example: CONTOSO
Lowercase full domain name: contoso.local
Uppercase full domain name: CONTOSO.LOCAL
For some well-known security principals, such as LOCAL SERVICE or ANONYMOUS LOGON, the value of this field is “NT AUTHORITY”.
For local user accounts, this field will contain the name of the computer or device that this account belongs to, for example: “Win81”.
Logon ID [Type = HexInt64]: hexadecimal value that can help you correlate this event with recent events that might contain the same Logon ID, for example, “4624: An account was successfully logged on.”
Object:
Object Server [Type = UnicodeString]: has “Security” value for this event.
Object Type [Type = UnicodeString]: The type of object that was accessed during the operation.
The following table contains the list of the most common Object Types:
Object Name [Type = UnicodeString]: name and other identifying information for the object for which access was requested. For example, for a file, the path would be included.
Handle ID [Type = Pointer]: hexadecimal value of a handle to Object Name. This field can be used for correlation with other events, for example with Handle ID field in “4656(S, F): A handle to an object was requested.” This parameter might not be captured in the event, and in that case appears as “0x0”.
Resource Attributes [Type = UnicodeString] [Version 1]: attributes associated with the object. For some objects, the field does not apply and “-“ is displayed.
For example, for a file, the following might be displayed: S:AI(RA;ID;;;;WD;(«Impact_MS»,TI,0x10020,3000))
Impact_MS: Resource Property ID.
3000: Recourse Property Value.

Process Information:
Process ID [Type = Pointer]: hexadecimal Process ID of the process that accessed the object. Process ID (PID) is a number used by the operating system to uniquely identify an active process. To see the PID for a specific process you can, for example, use Task Manager (Details tab, PID column):

If you convert the hexadecimal value to decimal, you can compare it to the values in Task Manager.
You can also correlate this process ID with a process ID in other events, for example, “4688: A new process has been created” Process InformationNew Process ID.
Process Name [Type = UnicodeString]: full path and the name of the executable for the process.
Access Request Information:
Table 15. File System objects access rights.
Security Monitoring Recommendations
For 4663(S): An attempt was made to access an object.
For kernel objects, this event and other auditing events have little to no security relevance and are hard to parse or analyze. There is no recommendation for auditing them, unless you know exactly what you need to monitor at the Kernel objects level.
For other types of objects, the following recommendations apply.
If you have critical file system objects for which you need to monitor all access attempts, monitor this event for Object Name.
If you have critical file system objects for which you need to monitor certain access attempts (for example, write actions), monitor this event for Object Name in relation to Access Request InformationAccesses.
If you have file system objects with specific attributes, for which you need to monitor access attempts, monitor this event for Resource Attributes.
If Object Name is a sensitive or critical registry key for which you need to monitor specific access attempts (for example, only write actions), monitor for all 4663 events with the corresponding Access Request InformationAccesses.
If you have a pre-defined “Process Name” for the process reported in this event, monitor all events with “Process Name” not equal to your defined value.
You can monitor to see if “Process Name” is not in a standard folder (for example, not in System32 or Program Files) or is in a restricted folder (for example, Temporary Internet Files).
If you have a pre-defined list of restricted substrings or words in process names (for example, “mimikatz” or “cain.exe”), check for these substrings in “Process Name.”
For file system objects, we recommend that you monitor for these Access Request InformationAccesses rights:
WriteData (or AddFile)
AppendData (or AddSubdirectory or CreatePipeInstance)
Источник
Если вы ищете как runtime error исправить — вы попали по адресу.
Причин появления таковой может быть огромное множество.
Чаще всего причина состоит в том, что выходит новая версия того или иного приложения/игры и она устанавливается прямо поверх старой.
Хотя это далеко не единственная ситуация, которая может вызвать ее появление.

Cодержание:
После того, как вы нажимаете на единственную кнопку в окне ошибки, оно просто закрывается и программа также перестает работать.
Бывает, что она все же продолжает работать, но в ней невозможно ничего сохранить. В любом случае, есть несколько способов исправить ее.

Как выглядит ошибка
Способ №1. CCleaner
Самое простое решение заключается в том, чтобы воспользоваться программой для чистки реестра. Как это работает?
Все просто – чистильщик реестра, собственно, и предназначен для того, чтобы исправлять всевозможные проблемы, вроде той, которую рассматриваем мы, систематизировать файлы и добавлять то, чего недостает ему для нормальной работы.
Лучшей по праву считается CCleaner, хотя вы можете воспользоваться и другой.
Чтобы использовать ее, сделайте вот что:
- Скачайте (вот ссылка на бесплатную) и установите программу.
- Запустите. Перейдите на вкладку «Реестр» на панели слева.
- В разделе «Целостность» поставьте галочки на всех возможных пунктах – никто не знает, в чем именно проблема.
- Нажмите кнопку «Поиск проблем». Когда этот процесс закончится, нажмите кнопку «Исправить…».

Использование
- Подождите, пока приложение исправит все проблемы. Перезагрузите компьютер.
После этого runtime error должен перестать появляться. Если нет, переходим к следующему решению.
к содержанию ↑
Способ №2. DirectX
Вполне вероятно, что ее появление вызывают какие-то проблемы с DirectX. Возможно, какие-то файлы исполняемых библиотек были повреждены или же существующие библиотеки банально устарели.
В любом случае, лучше всего просто установить наиболее актуальные варианты и, опять же, перезагрузить компьютер.
Для этого зайдите на сайт Microsoft, на страницу с возможностью скачать DirectX (вот ссылка). Запустите скачанный файл и выполните все действия, подразумевающие установку исполняемых библиотек.
Здесь нет никаких особых рекомендаций – обычная.

Страница загрузки DirectX
Если после установки и перезагрузки компьютера ошибка не исчезла, идем дальше.
к содержанию ↑
Способ №3. Visual C++
О распространяемом пакете Visual C++ в контексте рассматриваемой проблемы можно скачать то же самое, что и о библиотеках DirectX.
Возможно, какие-то файлы были повреждены или версия устарела.
Бывают в данном случае и другие ситуации, когда установленная C++ попросту не подходит для вашей операционной системы.
Ниже приведена таблица с вариантами, которые подходят для разных версий ОС.
Таблица 1. Требуемые версии Visual C++ для Windows
| Операционная система | Требуемая Visual C++ |
|---|---|
| Windows XP и ниже | C++2008 |
| Windows 7 | C++2010 |
| Windows 8 и 10 | Наиболее актуальная на данный момент |
Так вот, в зависимости от того, какая у вас ОС, вам следует скачать и инсталировать на свой компьютер C++2008 (64-бит, 32-бит), C++2010 (64-бит, 32-бит) или же C++2015 обновление 3 (всех варианты).
Это наиболее актуальная версия по состоянию на июнь 2017 года. В будущем выйдут новые, поэтому следите за новостями на официальном сайте Microsoft.
Скачивание происходит одинаково – выбираем язык распространяемого компонента и жмем кнопку «Скачать». После этого останется запустить загруженный файл.
После этого перезагрузите компьютер.

Страница загрузки Visual C++
к содержанию ↑
Способ №4. Microsoft .NET Framework
Здесь все то же самое – Microsoft .NET Framework тоже может вызывать рассматриваемую проблему из-за отсутствия каких-то собственных файлов. И этот компонент также нужно скачать и установить.
Но есть определенный, правильный порядок ее инсталяции:
Сначала необходимо инсталируйте версию 2.0 (вот ссылка). Попробуйте запустить программу, в которой раньше возникала проблема, если она не исчезла, устанавливайте дальше.
После этого 3.0 (скачать).
Если не помогает, 4.0 (ссылка).
Наконец, если у вас Windows Vista SP2, 7 SP1, 8, 8.1, Server 2008 SP2, Server 2008 R2 SP1, Server 2012 или Server 2012 R2, установите 4.6.2 (скачать).
Скачивание происходит точно так же, как и в случае с пакетами Visual C++.
Если ничего из этого не помогает, значит, случился сбой самой операционной системы. Пригласите на дом специалиста или сдайте компьютер в сервисный центр, если это возможно.
В крайнем случае, сделайте откат системы или вовсе переустановите ее.
I’ve a problem with WizardForm‘s, when I trying to uninstall the program I have this error:
Runtime Error:
Internal error: An attempt was made to access WizardForm before it has been created.

I need to create soft abort uninstallation process with loop (e.g. when application is running and user run the uninstall, program must check processes and if application is running, notify user and if user press the cancel button the program abort uninstallation), I’ve tried with ExitProcess(0); but it isn’t gentle.
Code section:
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
case CurUninstallStep of
usUninstall:
begin
if MsgBox('Close the {#AppName}, before uninstallation.', mbConfirmation, MB_YESNO) = IDYES then
begin
{ user clicked Yes }
end
else
begin
MsgBox('Error',mbError,MB_OK);
CancelWithoutPrompt := true;
{ ExitProcess(0); }
WizardForm.close;
end
end;
end;
end;
asked Apr 28, 2017 at 6:50
2
Your approach to implementing your problem is wrong, see at the end.
Anyway, to address your immediate issue: The WizardForm is an installer form. It does not exist in an uninstaller. In the uninstaller, you have UninstallProgressForm. See documentation.
But you do not want to call UninstallProgressForm.Close. That’s wrong for the reasons given below.
Inno Setup has a built-in mechanism to prevent an (un)installer from proceeding, while an application is running. The AppMutex directive.
Even if you want to build your own solution, use the InitializeUninstall event function, where you can exit the uninstaller easily and cleanly, by returning False. And you can, of course, display any message you like, before you exit. Just use MsgBox function.
All this is covered in my answer to Uninstall fails because program is running. How do I make Inno Setup check for running process prior to attempting delete?
answered Apr 28, 2017 at 7:27
Martin PrikrylMartin Prikryl
187k54 gold badges481 silver badges968 bronze badges
Modified on: Fri, 1 Apr, 2022 at 12:33 AM
The full error message is: «Internal error: An attempt was made to access WizardForm before it has been created.»
This occurs in some situations when you don’t have .NET Framework 4.8 installed. The EpicTable installer is supposed to detect that and install it for you, but that’s not what’s happening. I’ll have to check that out. Meanwhile, you should be able to install if you first install the .NET Framework 4.8 Runtime.
Let me know if this doesn’t solve the problem.
Did you find it helpful?
Yes
No
Send feedback
Sorry we couldn’t be helpful. Help us improve this article with your feedback.
Related Articles
Why is this not working?
if WizardForm <> nil then
WizardForm.StatusLabel.Caption := 'blah'
else
Log('WizardForm not initialized yet!');
I get this exception:
Runtime Error (at 15:118):
Internal error: An attempt was made to access WizardForm before it has been created.
I know that WizardForm is not yet initialized, that’s why I check for nil, the check is not working!
What am I doing wrong here?
asked Sep 16, 2013 at 8:31
![]()
fubarfubar
3386 silver badges20 bronze badges
That happens to every access of the WizardForm variable including the check, if it’s assigned. Simply move your code from InitializeSetup event to InitializeWizard.
answered Sep 16, 2013 at 8:34
TLamaTLama
75k17 gold badges213 silver badges387 bronze badges
8
Is there any other way to check for null?
How about this:
function IsWizardFormCreated(): Boolean;
begin
Result := True;
try
WizardForm;
except
Result := False;
end;
end;
answered Nov 14, 2014 at 14:45
![]()
PLopesPLopes
932 silver badges6 bronze badges
0
У меня такой код.
procedure DeinitializeSetup();
begin
UnLoadVCLStyles;
if FileExists(ExpandConstant('{tmp}') + 'botva2.dll') then gdipShutDown();
WizardForm.Free;
end;
Когда я закрываю окно выбора языка выходит такая ошибка. Я понимаю, что ошибка вылезает, потому-что WizardForm не создана. Как сделать, что бы не было ошибки, но что-бы WizardForm.Free осталась в procedure DeinitializeSetup()?
Ответы (1 шт):
Добавил в код вместо WizardForm.Free такие строчки и окно инсталлятора, в котором скин .vsf стало закрываться быстро.
[code]
function ShowWindow(hWnd: Integer; uType: Integer): Integer; external '[email protected] stdcall';
procedure DeinitializeSetup();
begin
ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
if FileExists(ExpandConstant('{tmp}') + 'botva2.dll') then gdipShutDown();
UnLoadVCLStyles;
end;
→ Ссылка
