Manifest-Datei [erledigt]

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Manifest-Datei [erledigt]

Beitrag von peternmb »

Hallo,
seit ich eine geänderte Manifest-Datei einsetzte, die Windows-10 erkennt, funktioniert mein "warten" nicht mehr.
Da lief vorher, wie bei Windows üblich ein grüner Streifen entlang, jetzt wechselt dieser nur noch die Farbe.
Ist nicht wirklich schlimm, sieht aber nicht mehr so gut aus wie vorher :?
Wäre schön, wenn das wieder so funktioniert...

Manifest-Datei alt:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    version="1.62.0.0"
    processorArchitecture="X86"
    name="xxx.yyy.zzz"
    type="win32"
/>
<description>Das macht mein Programm.</description>
<dependency>
<dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="X86"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
    </dependentAssembly>
</dependency>
</assembly>


Manifest-Datei neu:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
    <assemblyIdentity
      version="1.72.0.0"
      processorArchitecture="X86"
      name="xxx.yyy.zzz"
      type="win32"
    />
    <description>Das macht mein Programm.</description>
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel
                    level="asInvoker"
                    uiAccess="false"
                />
            </requestedPrivileges>
        </security>
    </trustInfo>
    <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
        <application>
            <!-- Windows 10 -->
            <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
            <!-- Windows 8.1 -->
            <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
            <!-- Windows Vista -->
            <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
            <!-- Windows 7 -->
            <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
            <!-- Windows 8 -->
            <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
        </application>
    </compatibility>
</assembly>
PS.: wie kann ich in meinem Beitrag ein Bild einfügen???
Dateianhänge
so sah es vorher aus...
so sah es vorher aus...
wait.GIF (6.28 KiB) 6998 mal betrachtet
Zuletzt geändert von peternmb am Di, 24. Jan 2017 13:45, insgesamt 2-mal geändert.
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Manifest-Datei

Beitrag von georg »

Zum Bild einfügen: in der Leiste über dem Editor auf den Button "Img" klicken und zwischen die beiden Tags den Link zum Bild einfügen.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: Manifest-Datei

Beitrag von peternmb »

georg hat geschrieben:Zum Bild einfügen: in der Leiste über dem Editor auf den Button "Img" klicken und zwischen die beiden Tags den Link zum Bild einfügen.
Ja, das habe ich gesehen - ist es auch möglich statt eines Links zum Bild das Bild selber einzufügen, so wie ich es aus anderen Foren kenne?
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Manifest-Datei

Beitrag von Martin Altmann »

Peter,
einfach unter deinem Editorbereich, in dem du den Text schreibst, Dateianhang hochladen auswählen und dann erklärt sich der Rest eigentlich.
Sollte klappen.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: Manifest-Datei

Beitrag von peternmb »

Martin Altmann hat geschrieben:Peter,
einfach unter deinem Editorbereich, in dem du den Text schreibst, Dateianhang hochladen auswählen und dann erklärt sich der Rest eigentlich.
Sollte klappen.

Viele Grüße,
Martin
Danke, das mit dem Dateianhang da unten hatte ich nicht gesehen..
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Manifest-Datei

Beitrag von Jan »

Vielleicht etwas blöd die Frage. Aber warum die Kompatibilitätszeilen? Welchen praktischen Nutzen haben die? Ich hab die bei mir nicht drin, aber es funktioniert unter allen Windows-Versionen so wie erwartet.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: Manifest-Datei

Beitrag von peternmb »

Jan hat geschrieben:Vielleicht etwas blöd die Frage. Aber warum die Kompatibilitätszeilen? Welchen praktischen Nutzen haben die? Ich hab die bei mir nicht drin, aber es funktioniert unter allen Windows-Versionen so wie erwartet.

Jan
Ich erhalte regelmäßig von meinen Programmen Registiermeldungen, wo u.a. das Betriebssystem angegeben wird und das funktioniert sonst nicht korrekt mit W10.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Manifest-Datei

Beitrag von AUGE_OHR »

grüner Streifen
ist das der XbpProgressbar() oder der DXE_Progressbar() ?
jetzt wechselt dieser nur noch die Farbe.
hm ... Marquee ist IMHO nur grün da es kein "Error" (rot) oder "Pause" (gelb) gibt.

habe es mit dem Alaska Demo und Win 10 Manifest ausprobiert und keine Probleme.
ich vermute das vorher schon was passiert ist. evtl. schon vorher einen Progressbar definiert aber nicht o:Destroy() ?
gruss by OHR
Jimmy
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: Manifest-Datei

Beitrag von peternmb »

AUGE_OHR hat geschrieben:ist das der XbpProgressbar() oder der DXE_Progressbar() ?
es ist die DXE_Progressbar
Wenn ich die alte Manifest-Datei benutze funktioniert es wieder.

Code: Alles auswählen

...
LOCAL aArray   := { { NIL,NIL, {10,27},{450,25},100,PBS_MARQUEE,.T.,.F.,-1,-1,{{XBP_PP_BGCLR,RandomInt(0, 15)},{XBP_PP_FGCLR,RandomInt(0, 15) }  }} }
//
CreateProgressThread(oDlg,aArray[1])
...

PROCEDURE CreateProgressThread( oDlg, aItem)
LOCAL oProgress
LOCAL oThread
//
// modify for DXE_ProgressBar()
//
LOCAL oObj     := aItem[ ID_oObj     ]
LOCAL oRun     := aItem[ ID_oRun     ]
LOCAL aPos     := aItem[ ID_aPos     ]
LOCAL aSize    := aItem[ ID_aSize    ]
LOCAL nMax     := aItem[ ID_nMax     ]
LOCAL nStyle   := aItem[ ID_nStyle   ]
LOCAL lVisual  := aItem[ ID_lVisual  ]
LOCAL lPercent := aItem[ ID_lPercent ]
LOCAL nError
LOCAL nPause
LOCAL aPP      := aItem[ ID_aPP      ]

   oProgress := DXE_ProgressBar():New( wwDlg:DrawingArea,, aPOS, aSIZE,aPP )
   //
   // these Option must be set before create()
   //
   oProgress:UseVisualStyle := lVisual
   oProgress:UsePercent     := lPercent
   //
   oProgress:Create()

   //
   // set Style after create()
   //
   oProgress:Style   := nStyle

   IF nStyle = PBS_MARQUEE
      //
      // make faster
      //
      oProgress:SetMarqueeSpeed( 10 )
   ENDIF

   oProgress:Minimum := 0
   oProgress:Maximum := 100

   //
   // when use Marquee Effect do NOT switch oProgress:State
   // it will "slow down" (???) Marquee Effect on Win7
   //
   nPause := IF(aItem[ ID_nError ]<0,oProgress:Maximum+1,aItem[ ID_nError ])
   nError := IF(aItem[ ID_nPause ]<0,oProgress:Maximum+1,aItem[ ID_nPause ])

   //
   // Percent Calculation based on default 100 = %
   //
   // o:Maximum := 400 -> o:nScaleMax := 1000
   //
   oProgress:nScaleMax  := 100


   oThread := Thread():New()
   //
   // use Random Interval for each Thread
   //
   oThread:SetInterval( RandomInt(10, 50) )
   oThread:Start( {|| ProgressThreadFunc(oProgress,nPause,nError)} )

   //
   // assign to Array
   //
   aItem[ ID_oObj ] := oProgress
   aItem[ ID_oRun ] := oThread

RETURN

PROCEDURE ProgressThreadFunc( oProgress, nPause, nError )
LOCAL nValue := oProgress:GetData()

   nValue++

   IF nValue >= oProgress:Maximum
      nValue := oProgress:Minimum
   ENDIF

   IF oProgress:IsMarquee()
      //
      // do not switch oProgress:State
      //
   ELSE
      DO CASE
         CASE nValue >= nError
            //
            // Color RED
            //
            oProgress:State := PBST_ERROR

         CASE nValue >= nPause .AND. nValue < nError
            //
            // Color YELLOW
            //
            oProgress:State := PBST_PAUSED

         OTHERWISE
            //
            // Color GREEN
            //
            oProgress:State := PBST_NORMAL
      ENDCASE
   ENDIF
   oProgress:SetData( nValue )

RETURN
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Manifest-Datei

Beitrag von AUGE_OHR »

peternmb hat geschrieben:
AUGE_OHR hat geschrieben:ist das der XbpProgressbar() oder der DXE_Progressbar() ?
es ist die DXE_Progressbar
Wenn ich die alte Manifest-Datei benutze funktioniert es wieder.

Code: Alles auswählen

   //
   // when use Marquee Effect do NOT switch oProgress:State
   // it will "slow down" (???) Marquee Effect on Win7
   //
   nPause := IF(aItem[ ID_nError ]<0,oProgress:Maximum+1,aItem[ ID_nError ])
   nError := IF(aItem[ ID_nPause ]<0,oProgress:Maximum+1,aItem[ ID_nPause ])
   ...
RETURN
nimm mal diese beiden Zeilen raus
gruss by OHR
Jimmy
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: Manifest-Datei

Beitrag von peternmb »

AUGE_OHR hat geschrieben:...nimm mal diese beiden Zeilen raus
da ändert sich nichts

Es wunbdert mich etwas, dass ich Farben wie rosa, gelb, braun, schwarz usw. sehe, definiert sind doch eigentlich nur rot, gelb und grün

Code: Alles auswählen

   IF oProgress:IsMarquee()
      //
      // do not switch oProgress:State
      //
   ELSE
      DO CASE
         CASE nValue >= nError
            //
            // Color RED
            //
            oProgress:State := PBST_ERROR

         CASE nValue >= nPause .AND. nValue < nError
            //
            // Color YELLOW
            //
            oProgress:State := PBST_PAUSED

         OTHERWISE
            //
            // Color GREEN
            //
            oProgress:State := PBST_NORMAL
      ENDCASE
   ENDIF
   oProgress:SetData( nValue )
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Manifest-Datei

Beitrag von AUGE_OHR »

peternmb hat geschrieben:Manifest-Datei neu:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
    <assemblyIdentity
      version="1.72.0.0"
      processorArchitecture="X86"
      name="xxx.yyy.zzz"
      type="win32"
    />
    <description>Das macht mein Programm.</description>
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel
                    level="asInvoker"
                    uiAccess="false"
                />
            </requestedPrivileges>
        </security>
    </trustInfo>
    <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
        <application>
            <!-- Windows 10 -->
            <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
            <!-- Windows 8.1 -->
            <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
            <!-- Windows Vista -->
            <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
            <!-- Windows 7 -->
            <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
            <!-- Windows 8 -->
            <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
        </application>
    </compatibility>
</assembly>
und wo ist da dein "Microsoft.Windows.Common-Controls" / publicKeyToken="6595b64144ccf1df" Eintrag :?:

wenn damit xxx.yyy.zzz gemeint ist MUSS es version="6.0.0.0" sein. [-o<

im Manifest steht NICHTS von "deine" App [-X , das schreibst du in das ARC File :!:
gruss by OHR
Jimmy
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: Manifest-Datei

Beitrag von peternmb »

AUGE_OHR hat geschrieben:...und wo ist da dein "Microsoft.Windows.Common-Controls" / publicKeyToken="6595b64144ccf1df" Eintrag :?:

wenn damit xxx.yyy.zzz gemeint ist MUSS es version="6.0.0.0" sein. [-o<

im Manifest steht NICHTS von "deine" App [-X , das schreibst du in das ARC File :!:
Ja, xx.yyy.zzz. ist Hersteller und Name des Programmes
Ich habe die Manifest-Datei irgendwo so "abgeschrieben" und angepasst.

Ja, Programmname, Versionsnummer usw. habe ich in der arc-Datei.

Bitte, wie muss der fehlende Eintrag genau aussehen und wohin gehört der genau?
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Manifest-Datei

Beitrag von AUGE_OHR »

peternmb hat geschrieben:Ja, xx.yyy.zzz. ist Hersteller und Name des Programmes
Ich habe die Manifest-Datei irgendwo so "abgeschrieben" und angepasst.
"abgeschrieben" und dann noch falsch :banghead:

ohne ordentliches Manifest kannst du nicht erwarten das ordentlich funktioniert. [-X
für visual Style muss "Microsoft.Windows.Common-Controls" aktive sein :!:
peternmb hat geschrieben:Ja, Programmname, Versionsnummer usw. habe ich in der arc-Datei.
so sol es sein
peternmb hat geschrieben:Bitte, wie muss der fehlende Eintrag genau aussehen und wohin gehört der genau?
also ... du nimmst deine "alte" Manifest Datei. wenn du die "einrückst" sieht es so aus
es fängt mit "<xxx" an und der Block ist mit "</xxx" zu Ende

Code: Alles auswählen

   <dependency ....>

   </dependency>
   <was_weiss_ich blabla>
     ...
   </was_weiss_ich> 
</assembly>
zwischen den beiden letzten Einträgen kannst du weitere "Blöcke" einfügen.

have fun
gruss by OHR
Jimmy
peternmb
1000 working lines a day
1000 working lines a day
Beiträge: 525
Registriert: Mi, 01. Feb 2006 16:22
Wohnort: 06618 Naumburg

Re: Manifest-Datei

Beitrag von peternmb »

AUGE_OHR hat geschrieben:..."abgeschrieben" und dann noch falsch :banghead:
War schon richtig abgeschrieben, nur stand das in dieser Manfest-Datei nicht drin 8)

Ich habe es gefunden und nachgetragen - jetzt funktioniert es zusammen mit einige anderen Dingen die vorher optisch auch nicht so toll waren..
https://msdn.microsoft.com/en-us/librar ... _manifests

Vielen Dank für die Hilfe =D>
Antworten