Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Hilfe-Installer (Deutsche Hilfe)


  • Please log in to reply
16 replies to this topic
SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Habe ein kleines Script gebastelt, um die deutsche Hilfe (von Ragnar) zu "installieren", z.B. nach einem Update auf eine neue AHK-Version (da wird ja immer wieder die englische Hilfe installiert).
Danke hierfür an shajul für die Funktion Unz und natürlich an Ragnar für die deutsche Hilfe (sehr hilfreich).
Hier das Script:

#SingleInstance ignore
#NoEnv

if(!A_IsAdmin){
	Run *RunAs "%A_ScriptFullPath%",, UseErrorLevel
	if(ErrorLevel){
		MsgBox, 53, Administatorrechte benötigt, Du musst den Updater mit Administratorrechten starten, damit er richtig funktioniert!
		IfMsgBox, Retry
			Reload
		else
			ExitApp
	}
	return
}

Unz(sZip, sUnz){ ;http://www.autohotkey.com/board/topic/60706-native-zip-and-unzip-xpvista7-ahk-l/
    fso := ComObjCreate("Scripting.FileSystemObject")
    If Not fso.FolderExists(sUnz)  ;http://www.autohotkey.com/forum/viewtopic.php?p=402574
       fso.CreateFolder(sUnz)
    psh  := ComObjCreate("Shell.Application")
    zippedItems := psh.Namespace( sZip ).items().count
    psh.Namespace( sUnz ).CopyHere( psh.Namespace( sZip ).items, 4|16 )
    Loop {
        sleep 50
        unzippedItems := psh.Namespace( sUnz ).items().count
        IfEqual,zippedItems,%unzippedItems%
            break
    }
}

SplitPath, A_AhkPath,, AhkDir
ToolTip, Hilfe wird heruntergeladen...
URLDownloadToFile, http://ragnar-f.github.com/download/AutoHotkey_L_Help_DE.zip, %A_Temp%\AHKHelpDE.zip
if(ErrorLevel OR !FileExist(A_Temp "\AHKHelpDE.zip")){
    MsgBox, 21, Fehler beim Download, Ein Fehler beim Download ist aufgetreten!
    IfMsgBox, Retry
        Reload
    else
        ExitApp
}
ToolTip, Hilfe wird entpackt...
Unz(A_Temp "\AHKHelpDE.zip", A_Temp "\AHKHelpDE")
if(!FileExist(A_Temp "\AHKHelpDE\Autohotkey.chm")){
    MsgBox, 21, Fehler beim Entpacken, Ein Fehler beim Entpacken ist aufgetreten!
    IfMsgBox, Retry
        Reload
    else
        ExitApp
}
ToolTip, Hilfe wird verschoben...
FileMove, %A_Temp%\AHKHelpDE\Autohotkey.chm, % AhkDir "\Autohotkey.chm", 1
ToolTip, Temporäre Dateien werden gelöscht...
FileDelete, %A_Temp%\AHKHelpDE.zip
FileRemoveDir, %A_Temp%\AHKHelpDE, 1
ToolTip
MsgBox, Neue deutsche Hilfe kopiert!
ExitApp

 
 
Download:
HilfeUpdater.ahk (Virustotal)
HilfeUpdater.exe (Virustotal)

 

Ihr braucht diesen Installer normalerweise nur einmal herunterzuladen, er lädt dann bei jedem Start die neueste Version herunter.

 

Hinweis:

Ihr benötigt für dieses Programm mindestens Windows XP, außerdem muss die Windows-interne ZIP-Funktion aktiviert sein (siehe auch diesen Post)



nnnik
  • Members
  • 1625 posts
  • Last active: Jan 24 2019 02:19 PM
  • Joined: 28 Jul 2012

Ich benutz eig. immer noch die Hilfe von 1.7.03

Aber jetzt nicht mehr wink.png

THXgrin.png


Visit the new forum ahkscript.org.

http://ahkscript.org


Ragnar
  • Members
  • 68 posts
  • Last active: Aug 26 2015 12:18 PM
  • Joined: 02 Oct 2006

Vielen Dank! Ich habe dein Script in meinem Thread verlinkt.



SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Einige kleinere Änderungen:

  • ToolTip zum aktuellen Status hinzugefügt
  • Fehlermeldungen bei eventuell auftretenden Fehlern hinzugefügt (Download, Entpacken)
  • Download für die .ahk und die .exe


roady1969
  • Members
  • 88 posts
  • Last active: Jul 16 2019 10:21 AM
  • Joined: 19 Dec 2012

Kurze Frage:
wenn ich das Script aufrufe erscheint nach kurzer Zeit eine Fehlermeldung:
 

Error: 0x80070002 - Das System kann die angegebene Datei nicht finden.

Source: (null)

Description: (null)

HelpFile: (null)

HelpContext: (null)


Specificially: Namespace

 

Line#

013: Return

--> 021 zippedItems:=psh.Namespace...

ff... bis 027: Break

 

Woran liegt das?
 
Was ich auch (noch) nicht ganz verstehe, muss ich jetzt die Zusatz-Befehle wie "UNZ" etc. aus
 

Unz(sZip, sUnz){ ;http://www.autohotkey.com/board/topic/60706-native-zip-and-unzip-xpvista7-ahk-l/
    fso := ComObjCreate("Scripting.FileSystemObject")

irgendwie vorher in meinem AHK nachladen? Wenn ja, wie geht das?

 

Gruss & Danke,

Roady



SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Wie gesagt, die Funktion Unz ist nicht von mir, und ich verstehe sie ehrlich gesagt auch nicht^^

Ich hab nur den Code aussenrum geschrieben. Aber es wird auf jeden Fall nichts externes benötigt (normalerweise).

 

Und zur Fehlermeldung: Funktioniert denn die HilfeUpdater.exe (Download ist oben)?



roady1969
  • Members
  • 88 posts
  • Last active: Jul 16 2019 10:21 AM
  • Joined: 19 Dec 2012

nein, geht auch nicht.

Selber Fehler. Gleiche Stelle "namespace"...



Ragnar
  • Members
  • 68 posts
  • Last active: Aug 26 2015 12:18 PM
  • Joined: 02 Oct 2006

Das das bei dir nicht geht, lässt sich zurzeit nur schwer nachvollziehen.

Überprüfe, ob bei dir folgende Voraussetzungen erfüllt sind:

  • Mindestens Windows XP/2000
  • Datei "Shell32.dll" ab Version 4.71 (in C:\Windows\System32; Rechtsklick -> Eigenschaften -> Details)
  • Volle Adminrechte

Überprüfe, was sich zurzeit in den Variablen sUnz und sZip befindet (per MsgBox oder ToolTip) und ob die heruntergeladene Datei im Temp-Ordner vorkommt.

 

Ich habe gelesen, dass Netzwerkordner oder ähnliches Probleme machen können. Vielleicht trifft das auf dein Temp-Ordner (unwahrscheinlich) oder AutoHotkey-Ordner zu.



roady1969
  • Members
  • 88 posts
  • Last active: Jul 16 2019 10:21 AM
  • Joined: 19 Dec 2012

shell32.dll Version 6.0.2900.6242

Voller Admin mit vollen adminrechten - habe aber eh nur WinXP (keine aktuelle Windows Benutzerkontensteuerung)

 

Der Fehler tritt schon in Zeile 21 des Scriptes auf

    zippedItems := psh.Namespace( sZip ).items().count

nochmalige Frage:

 

Was ich auch (noch) nicht ganz verstehe, muss ich jetzt die Zusatz-Befehle wie "UNZ" etc. aus
  Unz(sZip, sUnz){ ;http://www.autohotkey.com/board/topic/60706-native-zip-and-unzip-xpvista7-ahk-l/
fso := ComObjCreate("Scripting.FileSystemObject")

irgendwie vorher in meinem AHK nachladen? Wenn ja, wie geht das?

 

Roady



SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Nein, normalerweise benötigst du nur dieses Script - nicht mehr. Es sollte Windows-Bordmittel nutzen.



Ragnar
  • Members
  • 68 posts
  • Last active: Aug 26 2015 12:18 PM
  • Joined: 02 Oct 2006

Setze mal vor Zeile 21

 

MsgBox, % sZip "`n" sUnz

 

und sage mir, was du siehst.

Überprüfe außerdem, ob die angezeigten Pfade in den Variablen korrekt sind (einfach den Pfaden manuell folgen).



roady1969
  • Members
  • 88 posts
  • Last active: Jul 16 2019 10:21 AM
  • Joined: 19 Dec 2012

Hallo,

 

also, er zeigt ueber die MsgBox folgendes:

 

d:\temp\AHKHelpDE.zip

d:\temp\AHKHelpDE

 

Er legt in meinem TEMP-Verzeichnis auch in der Tat den Ordner "AHKHelpDE" an. Aber die ZIP Datei liegt nicht dort, sondern in d:\temp\

Ist wohl da der Fehler...

Gruss,

Roady



Ragnar
  • Members
  • 68 posts
  • Last active: Aug 26 2015 12:18 PM
  • Joined: 02 Oct 2006

d:\temp\AHKHelpDE.zip
d:\temp\AHKHelpDE

 

Ungewöhnlich. In WinXP befindet sich der Benutzer-Temp-Ordner standardmäßig in "C:\Dokumente und Einstellungen\Username\Local Settings".

 

Er legt in meinem TEMP-Verzeichnis auch in der Tat den Ordner "AHKHelpDE" an. Aber die ZIP Datei liegt nicht dort, sondern in d:\temp\
Ist wohl da der Fehler...

 

Das ist so vorgesehen. Die ZIP-Datei wird in den Temp-Ordner heruntergeladen und in Temp\AHKHelpDE entpackt.

Du kannst zum Beispiel versuchen, statt %A_Temp% einen benutzerdefinierten Pfad zu verwenden (z. B. A_Temp mit TempOrdner ersetzen und in der ersten Zeile "TempOrdner = C:\Temp" schreiben). Achte darauf, wenn möglich ein anderes Laufwerk bzw. Partition zu verwenden (idealerweise C:).

Außerdem solltest du überprüfen, ob sich die ZIP-Datei im TEMP-Ordner überhaupt öffnen lässt.



roady1969
  • Members
  • 88 posts
  • Last active: Jul 16 2019 10:21 AM
  • Joined: 19 Dec 2012

Hallo,

 

- ZIP Datei laesst sich oeffnen und ueber WinZip auch entpacken.

- ich verschiebe den TEMP Ordner stets an einen Ort, wo man den auch einfachst wiederfindet... ;-)

- ich habe die Windows integrierte ZIP Funktion deaktiviert

 

Habe nun mittels regsvr32 zipfldr.dll den ZIP Dienst wieder reaktiviert und siehe da, das Script macht, was es soll.

Ich hatte das Script so gelesen, dass die Windows integrierte ZIP Funktion nicht benoetigt wird, da ja mittels der UNZ Funktion gearbeitet wird. Aber die scheint wohl auf der vorhandenen ZIP Funktion von Windows aufzusetzen, wie ja wohl auch SAPlayers Beitrag zu verstehen ist.

 

Gruss & DANKE Euch,

Roady



SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012

Ja, ich habe diese Funktion gewählt, weil alle anderen, die ich gefunden habe, eine externe .dll benötigen.

Wusste nicht, dass man die Windows-zip-Funktion deaktivieren kann :D

Ich werde es oben in den Thread schreiben, dass das aktiviert sein muss

 

SAPlayer