Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Эта программа возможно, установлена неправильно. Windows. Бред! (http://forum.oszone.net/showthread.php?t=205627)

Centrinar 26-04-2011 01:23 1665742

Эта программа возможно, установлена неправильно. Windows. Бред!
 
Это только на моем ПК или у всех? Если в названии скомпилированного скрипта присутствует слово 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


Creat0R 26-04-2011 01:52 1665748

Цитата:

Цитата Centrinar
Windows при закрытии выдаст окно о том что "Эта программа возможно, установлена неправильно" »

Это особенность Windows Vist/7. Вот почитай.

Centrinar 26-04-2011 02:00 1665750

Цитата:

Оно появляется если Windows видет какие то неполадки с совместимостью программ с ней.
т.е. слово installer - это то, что вызывает у Windows неполадку)))

CyberDaemon 26-04-2011 07:46 1665787

Цитата:

Цитата Centrinar
т.е. слово installer - это то, что вызывает у Windows неполадку))) »

Судя вот по этому
Вы тут мне наставите, а я убирай?
слово setup, даже в свойствах файла, ей тоже не нравится.

Yashied 26-04-2011 12:02 1665866

Здесь подробно написано про 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 1665867

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

Yashied 26-04-2011 13:45 1665909

Это не маразм, а новая фича, и все это написано в MSDN. В принципе, идея может быть и неплохая, но в большинстве случаев доставляет множество неудобств наравне с UAC. Просто нужно понять, что новая ОС предполагает новые возможности, и, соответственно, нужно задуматься над обеспечением совместимости своих программ с этими ОС.

kaster 26-04-2011 14:27 1665929

Yashied, могу ошибаться, но то, что системе не нравится слово setup или installer сложно назвать совместимостью

Yashied 26-04-2011 14:45 1665940

Спрашивать по каждому поводу и без оного разрешения (UAC) под учетной записью администратора тоже сложно назвать нормальным поведением ОС. Под совместимостью я имел ввиду службу PCA и соответствующий манифест. Когда появилась XP, необходимо тоже было добавлять файл манифеста, что бы использовать соответствующее оформление.

Ты посмотри на это с другой стороны. Последнии ОС стараются писать в основном для "домохозяек", и с этой точки зрения слова "setup" и "install" вполне себя оправдывают, это является просто критериями. А мы с тобой можем отключить ко всем чертям эту службу и радоваться жизни дальше...

:)


Время: 17:50.

Время: 17:50.
© OSzone.net 2001-