Показать полную графическую версию : [решено] Эта программа возможно, установлена неправильно. Windows. Бред!
Centrinar
26-04-2011, 01:23
Это только на моем ПК или у всех? Если в названии скомпилированного скрипта присутствует слово Installer (пример. documentinstaller) то Windows при закрытии выдаст окно о том что "Эта программа возможно, установлена неправильно"
Вот пример:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region Main form
$hMain_GUI = GUICreate("Главное окно", 300, 200)
$nStngs_Btn = GUICtrlCreateButton("Настройки", 10, 170, 70, 20)
$nExit_Btn = GUICtrlCreateButton("Выход", 90, 170, 70, 20)
GUISetState(@SW_SHOW, $hMain_GUI)
#EndRegion Main form
#Region Settings form
$hStngs_GUI = GUICreate("Настройки", 400, 200)
$nStngs_Ok_Btn = GUICtrlCreateButton("ОК", 10, 170, 80, 25)
$nStngs_Close_Btn = GUICtrlCreateButton("Закрыть", 310, 170, 80, 25)
#EndRegion Settings form
While 1
$aMsg = GUIGetMsg(1) ;Расширенная обработка событий
Switch $aMsg[0]
Case $GUI_EVENT_CLOSE, $nExit_Btn, $nStngs_Close_Btn
Switch $aMsg[1]
Case $hMain_GUI ;Событие поступило от главного окна - завершаем работу скрипта
Exit
Case $hStngs_GUI ;Событие поступило от окна настроек - закрываем его
GUISetState(@SW_HIDE, $hStngs_GUI)
EndSwitch
Case $nStngs_Btn
GUISetState(@SW_SHOW, $hStngs_GUI)
EndSwitch
WEnd
Windows при закрытии выдаст окно о том что "Эта программа возможно, установлена неправильно" »
Это особенность Windows Vist/7. Вот почитай (http://www.os-7.ru/uroki-os7/501138-otklyuchenie-soobshheniya-yeta-programma-vozmozhno-ustanovlena-nepravilno.html).
Centrinar
26-04-2011, 02:00
Оно появляется если Windows видет какие то неполадки с совместимостью программ с ней.
т.е. слово installer - это то, что вызывает у Windows неполадку)))
CyberDaemon
26-04-2011, 07:46
т.е. слово installer - это то, что вызывает у Windows неполадку))) »
Судя вот по этому
Вы тут мне наставите, а я убирай? (http://ithappens.ru/story/5961)
слово setup, даже в свойствах файла, ей тоже не нравится.
Здесь (http://msdn.microsoft.com/en-us/library/bb756937.aspx) подробно написано про PCA. Для того, что бы это окно не выводилось можно сделать одно из следующего:
Полностью отключить сервис PCA (Program Compatibility Assistant Service).
Исключить данную программу в реестре:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted
...\MyProgSetup.exe = 1
Поправить "Manifest" в ресурсах программы:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" language="*" processorArchitecture="*" publicKeyToken="6595b64144ccf1df"></assemblyIdentity>
</dependentAssembly>
</dependency>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
</application>
</compatibility>
</assembly>
Centrinar
26-04-2011, 12:05
даа маразм, ладно, теперь будем знать, я создал эту тему специально, что бы люди не наткнулись на такую же БЕ. Я кучу времени потратил что бы ошибку найти, весь скрипт перепахал, а когда случайно название вбил другое то все заработало.
Это не маразм, а новая фича, и все это написано в MSDN. В принципе, идея может быть и неплохая, но в большинстве случаев доставляет множество неудобств наравне с UAC. Просто нужно понять, что новая ОС предполагает новые возможности, и, соответственно, нужно задуматься над обеспечением совместимости своих программ с этими ОС.
Yashied, могу ошибаться, но то, что системе не нравится слово setup или installer сложно назвать совместимостью
Спрашивать по каждому поводу и без оного разрешения (UAC) под учетной записью администратора тоже сложно назвать нормальным поведением ОС. Под совместимостью я имел ввиду службу PCA и соответствующий манифест. Когда появилась XP, необходимо тоже было добавлять файл манифеста, что бы использовать соответствующее оформление.
Ты посмотри на это с другой стороны. Последнии ОС стараются писать в основном для "домохозяек", и с этой точки зрения слова "setup" и "install" вполне себя оправдывают, это является просто критериями. А мы с тобой можем отключить ко всем чертям эту службу и радоваться жизни дальше...
:)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.