PHP rocks! wünscht allen Mitgliedern einen guten Rutsch ins neue Jahr 2017 !!!
Hinweis: Das Forum zieht um! Um keine Datenverluste zu haben, schalten wir zwecks Übernahme der Daten das Forum am Sonntag, den 24.04.2016 um ca. 21:00 Uhr offline und passen anschliessend die DNS-Einträge an.
www.php-rocks.de wird euch dann nach den Aktualisierungen der DNS-Server wieder wie gewohnt uneingeschränkt zur Verfügung stehen.
Danke für euer Verständnis!

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Kurzer Test (InnoSetup und mehr....)
#1
In einem anderen Forum habe ich gelesen das es möglich wäre mit InnoSetup einen Installer zu compilen welcher auch auf Mac und Linux läuft. Ich habe die Anweisungen aus dem Thread befolgt und suche nun Tester mit entsprechenden Systemen verfügbar welche bereit wären für einen kurzen Test. Es werden zunächst keine komplexeren Testberichte erwartet, für mich wäre schon ein einfaches "geht" oder "geht nicht" sehr hilfreich!

Obschon meine Anfrage sehr eigennützig ist, möchte ich auch meine Teamworkfähigkeit und Userorientiertheit verbessern und bin u.a. auch generell an gegenseitigem/ernsthafteren Austausch interessiert (auch mit generell am Thema Interessierten unabhängig deren Qualifikation)...

Da ich hier nicht unnötig Werbung machen will, Links und weiteres per Anfrage im Thread sofern forenkonform oder via PM...!?!

Zurück zum Thema:
Ich muß schon für jedes System jeweils einen eigenen Installer compilen (aufgrund er Anwendung), es geht mir nur darum ob ich Inno auch für Linux und mac verwenden kann.
Soweit ich weiß ist es in delphi geschrieben also windows orientiert?
Ich verwende nach den Anweisungen aus dem anderen Forum nicht den default compiler sondern ISCC.exe/wine.
Das entpacken kann ich mir ja noch plattformunabhängig vorstellen, ich habe aber keinen blaßen Schimmer von wegen Desktopicons und Registry Einträgen.
Konkret registriert meine App Protocolhandler in der registry unter windows.
Leider habe ich auch zu wenig Ahnung von den anderen Systemen...
Antworten
#2
Ein virtuelles Linux-System kannst du unkompliziert auf dem eigenen Rechner anlegen. Etwa mit VirtualBox und einem Ubuntu-Image:

- https://www.virtualbox.org/
- http://www.ubuntu.com/download/desktop

Das würde ich in jedem Fall empfehlen, weil es viel komfortabler ist, als für jede Sache über einen Tester zu gehen. Das ist einfach sehr zäh.
Antworten
#3
(01.08.2016, 04:21)mermshaus schrieb: Das würde ich in jedem Fall empfehlen, weil es viel komfortabler ist, als für jede Sache über einen Tester zu gehen. Das ist einfach sehr zäh.

Nun, ich suche die Tester nicht für "jede Sache", einige Gründe habe ich oben schon angeschnitten.
Auf kurz oder lang kommt eine Softwareentwicklung aber auch nicht ganz ohne Tests oder besser echte use-cases durch Endbenutzer aus.

Danke für Deinen Tipp!

Ich komme nicht weiter, anscheinend bei Gasterweiterungen...?
Sehe ich es richtig, das ich unter Massenspeicher ein DVD/CD drive angeben muß und dort eine Linux CD einlegen?

Oder bin ich auf dem Holzweg?

Irgwendwie lenkt mich das alles gerade von anderen Dingen ab welche ich vorhab...
Und wie aussagekräft ist ein Test in einem Gastsystem einer VM, verhält es sich so wie "normal"?

Ich habe Angst das wenn ich zu tief einsteige in systemnahe Fragen, ich anstatt meine konkreten Probleme zu lösen mir immer neue Fragen aufwerfe.
Wenn ich es mit Browsertests vergleiche so errinere ich  mich, das so manche Seiten sich im jeweils "echten" Browser dann letzendlich doch ganz anders  verhalten können als im devTools Emulator.

Zurück zu meinem derzeitigen konkreten Fall:
Abgesehen von den zwei-drei Registry Einträgen, neben Inno gibt es noch selbstextraierende .zip oder nacl (mit letzterem habe ich mich noch nicht ausreichend beschäftigt, wieder so ein neues System?).
Google arbeitet an was neuem, Instant WebApps oder so ähnlich, erfordert aber eine Anmeldung beim Riesen, mein Zeugs scheint ähnlich zu funktionieren.
Nach cross-browser code geht es mir nun sozusagen um cross-os code, so weit wie möglich.

Mit Linux habe ich mich bisher nur ansatzweise im Rahmen von virtual LAMP Server beschäftigt ohne GUI, mit Mac noch überhaupt nicht, um ganz ehrlich zu sein bin ich eigentlich ein Windows 3.1 Fan.

...

Ich habe mal einen Screenshot angehängt von meiner VirtualBox!?


Angehängte Dateien Thumbnail(s)
   
Antworten
#4
...habe Bootreihenfolge auf "Platte" geändert, hat aber nix gebracht...
Antworten
#5
(01.08.2016, 06:32)Till schrieb: Nun, ich suche die Tester nicht für "jede Sache", einige Gründe habe ich oben schon angeschnitten.
Auf kurz oder lang kommt eine Softwareentwicklung aber auch nicht ganz ohne Tests oder besser echte use-cases durch Endbenutzer aus.

Ja, aber so was…

Zitat:Das entpacken kann ich mir ja noch plattformunabhängig vorstellen, ich habe aber keinen blaßen Schimmer von wegen Desktopicons und Registry Einträgen.
Konkret registriert meine App Protocolhandler in der registry unter windows.
Leider habe ich auch zu wenig Ahnung von den anderen Systemen...

…ist meines Erachtens mittelfristig einfach schwierig, wenn du immer alles bei jeder Änderung und jedem Test erst an eine andere Person weiterreichen musst. Und da ist nun mal mehr oder weniger viel Ausprobieren dabei.

Zitat:Ich komme nicht weiter, anscheinend bei Gasterweiterungen...?
Sehe ich es richtig, das ich unter Massenspeicher ein DVD/CD drive angeben muß und dort eine Linux CD einlegen?

Oder bin ich auf dem Holzweg?

Ich kann es dir im Detail leider nicht sagen, weil ich nicht wirklich Zugriff auf ein Windows-System habe. Vielleicht hilft diese Anleitung:

- http://www.psychocats.net/ubuntu/virtualbox

Ist leider etwas älter, aber sieht passend aus.

Du brauchst jedenfalls keine physische CD oder DVD zu brennen und in ein physisches Laufwerk zu legen. Du kannst einfach die Image-Dateien von zum Beispiel Ubuntu runterladen und rein digital einbinden.

Zitat:Und wie aussagekräft ist ein Test in einem Gastsystem einer VM, verhält es sich so wie "normal"?

Abgesehen von komplexeren Grafikgeschichten ist das meiner Erfahrung nach sehr authentisch. Hier ein Screenshot mit einem laufenden Internet Explorer in einem Windows-XP-Guest auf einem Ubuntu-Host:

- http://www.apertura.co.nz/blogpics/VirtualBox-WindowsXP-1.png

Zitat:Ich habe Angst das wenn ich zu tief einsteige in systemnahe Fragen, ich anstatt meine konkreten Probleme zu lösen mir immer neue Fragen aufwerfe.
Wenn ich es mit Browsertests vergleiche so errinere ich  mich, das so manche Seiten sich im jeweils "echten" Browser dann letzendlich doch ganz anders  verhalten können als im devTools Emulator.

Verstehe ich, aber das ist bei Virtualisierung schon das echte Betriebssystem. Dem wird nur virtuelle Hardware vorgegaukelt. Das ist in dem Fall zum Beispiel nichts, was sich halbwegs so verhält wie ein Linuxsystem, es ist ein Linuxsystem. Der Knackpunkt bei Virtualisierung ist eben der, dass es wohl nicht so leicht ist, leistungsfähige Grafikkarten (und sicherlich andere Spezialhardware) zu virtualisieren. Aber viel mehr kann ich dazu auch nicht sagen, weil ich nicht im Thema bin. Wenn du nur Festplatte, RAM, CPU und „2D-Grafik“ brauchst, sollte das aber gut funktionieren.

Ich habe etwa früher ab und zu PHP-Packages in einem Windows-XP-Guest unter einem Ubuntu-Host via Git/Composer installiert, um mit PHPUnit die Unit-Tests auszuführen. Das hat wunderbar funktioniert und war sehr hilfreich, um ausreichend guten Windows-Support zu erreichen (devil in the details). Aktuell mache ich das nicht mehr, weil es ein zu großer Aufwand für einen zu geringen Nutzen wäre. Ich müsste erst in bessere Hardware und eine neue Windows-Lizenz investieren, und Linux ist ohnehin das vorherrschende System in der PHP-Entwicklung, weil fast alle Server darunter laufen.

Zitat:Abgesehen von den zwei-drei Registry Einträgen, neben Inno gibt es noch selbstextraierende .zip oder nacl (mit letzterem habe ich mich noch nicht ausreichend beschäftigt, wieder so ein neues System?).

Sind interessante Themen, aber muss ich aus Zeitgründen gerade ausklammern. Zumal ich natürlich auch nicht weiß, was deine Software genau an Anforderungen an das OS stellt.

Zitat:Nach cross-browser code geht es mir nun sozusagen um cross-os code, so weit wie möglich.

In welcher Sprache entwickelst du denn? Sorry, wenn ich das überlesen habe.

Zitat:Mit Linux habe ich mich bisher nur ansatzweise im Rahmen von virtual LAMP Server beschäftigt ohne GUI, mit Mac noch überhaupt nicht, um ganz ehrlich zu sein bin ich eigentlich ein Windows 3.1 Fan.

Ich weiß, was du meinst. Smile

(PS: Meinetwegen kannst du das übrigens gern alles verlinken, wenn es nicht „sittenwidrig“ ist, was ich mal nicht glaube. Wink Diese „keine Werbung“-Sachen richten sich mehr gegen Leute, die sich nur mal anmelden, um einen Backlink zu setzen, aber nicht gegen wirkliche Community-Mitglieder, die ab und an mal ihr Kram vorstellen. In der Regel weiß man mit gesundem Menschenverstand schon, wenn was in der Richtung unangemessen ist.)
Antworten
#6
Mh, ja nun. Ich hab eigentlich schon genug Vorhaben auf meinem stack und kann auch nicht alles selber vertiefen.
Es könnte ja auch sein das jemand mir nach einer Minute sagen kann das es nicht geht, dann könnte ich mir viel Aufwand sparen.

Zitat:Meinetwegen kannst du das übrigens gern alles verlinken, wenn es nicht „sittenwidrig“ ist, was ich mal nicht glaube.
Wenn ich in den nächsten Tagen eine neue Version hochlade werde ich auch eine MAc und einen Linux Installer zum testen bereitstellen.

Zitat:In welcher Sprache entwickelst du denn? Sorry, wenn ich das überlesen habe.
Meine Anwendungen schreibe ich meistens in FRDL.

...und jetzt bist Du am überlegen ob das ernst ist oder Spaß? Big Grin

Die Compiler um die es hier geht habe ich nicht selbst geschrieben, der compiler der anwendung ist meines wissens nach in phyton und/oder #C erstellt.

Inno Setup um das eigentlich meine Frage geht wurde in Delphi geschrieben.
Ich habe aber einen anderen als den default compiler konfiguriert, dieser ist soweit ich weiß in irgendwas anders geschrieben und soll abgeblich cross-plattform kompilieren was ich aber nicht richtig testen kann.

Zitat:cross-os code, so weit wie möglich
W3C Sachen finde ich gut, .akp manifest und PlayStore finde ich nicht gut.
Antworten
#7
(03.08.2016, 02:37)Till schrieb: Meine Anwendungen schreibe ich meistens in FRDL.

...und jetzt bist Du am überlegen ob das ernst ist oder Spaß?  Big Grin

Irgendwie schon, ja. Smile Ich habe auch nicht wirklich herausgefunden, was das überhaupt ist. Habe in deinem Repo und auf einer Doku-Webseite ein, zwei Minuten rumgeklickt, aber nichts gefunden, was wie eine grundsätzliche Erklärung aussah.

Ein klassischer Kandidat für Cross-Platform-Anwendungen wäre halt Java.
Antworten
#8
Zitat: Ich habe auch nicht wirklich herausgefunden, was das überhaupt ist.
Sorry, ich will nicht für Verwirrung sorgen, aber ein bischen Spaß muß sein.

Ich habe früher etwas Delphi/Pascal gelernt, an dieser Sprache fande ich toll, außer das ich sie halt etwas gelernt habe, das alles ziemlich "eindeutig" ist. Als ich zu php kam war es zunächst sehr seltsam, z.B. das Vaiablen sich ganz "automatisch" typisieren.
In der realen Marktwirtschaft kommt es halt dazu das bestimmte Sprachen gehäuft verwendet werden und man diese mehr oder weniger zwangsläufig beschäftigt.
Wenn ich jetzt sage ich entwickle in PHP/javascript oder gar HTML, kommen Leute und behaupten das sind keine richtigen Programmiersprachen, wo sie auch teilweise recht haben.
Aber da wird mir die Sache zu philosophisch, außerdem bin ich kein Mathegenie.
Aber ich denke auch, als "Anwendungentwickler" muß ich nicht unbedingt eine Webseite in Brainfuck schreiben können.

In der konkreten Anwendung um die es geht handelt es sich um eine nw.js Anwendung.
Ich bin der Typ, der dabei Linq und eine javascipt php VM mit einbaut/runterlädt, einfach mal um es zu testen.

Da es mir hier darum geht (s.o.) möglichst plattformunabhängig zu coden, muß ich mich eigentlich von der Vorstellung eine bestimmte Sprache zu verwenden abwenden, mich faszinieren Standards und Protokolle.

Wenn ich meinen eigenen CL Interpreter schreibe habe ich im Prinzip eine "eigene Sprache", welche allerdings interpretiert werden muß und nicht in einer bestimmten Kompilation vorliegt.
Als Superheld bin ich schon angelangt bei
Code:
frdl help -b -h -t

Ich habe mich noch nie richtig mit C beschäftigt, was eigentlich sehr untypisch ist.

Der Witz bei FRDL ist ganz einfach, das es meine .de Domain ist, und da es ansonsten nur Spekulationen darüber gibt was die Bedeutung dieser vier Buchstaben ist, habe ich ganz einfach beschlossen, es wäre ein verdammt cooler Name für eine Sprache, es ist sogar ein L am Ende.  Big Grin
Kurzum, frdl ist das reinste Babylonisch.

Zitat:Ein klassischer Kandidat für Cross-Platform-Anwendungen wäre halt Java.
Ja aber auf java stehe ich irgendwie nicht so, kann ich auch nicht so. Und der User muß das Runtime Environment installiern, jedenfalls war es mal so (?).

Es ist ja nicht so als würde es keine plattformunabhängigen "Sprachen" geben, es ist nur so, das unter manchen Systemen man diese komischen .akp Manifeste und Anbietergebundenheiten hat.
Das W3C macht eigentlich ganz klare Beschreibungen z.B. über das WebApp Manifest.
Dabei geht eigentlich, im Anfang, nur um eine .json Datei welche in einem HTML Dokument referenziert wird.
Wo ist dabei das Problem fragt man sich? Es fängt schon damit an, das es unter den verschiedenen Anbietern verschiedene Vorstellungen darüber gibt, wann so ein Manifest valide ist.
Völlig unnötig.
Erst wirbt die Industrie damit, das es heutzutage viel cooler sei eine "App" zu haben, anstatt nur eine Webseite, und dann tut sie alles dafür, das auch jeder möglichst seine eigene Schiene fährt und man bei der Entwicklung auch ja an einen bestimmten Anbieter gebunden ist.

Sorry, ich bin jetzt etwas abgesschweift, werde also bald mal eine Inno Setup Datei zum testen bereitstellen, muß grad nur noch ein paar Bugs...

Wer Lust und Zeit hat kann es bis dahin auch selber testen und vielleicht sagen ob es grundsätzlich geht oder nicht unter MAc/Linux, Inno Setup Script:
Code:
[_]
SCRIPTNAME=$1
INNO_BIN="Inno Setup 5/ISCC.exe"


;[ -z "$SCRIPTNAME" ] && { echo "Usage: $0 <SCRIPT_NAME>"; echo; exit 1; }


;[ ! -f "$SCRIPTNAME" ] && { echo "File not found. Aborting."; echo; exit 1; }


command -v wine >/dev/null 2>&1 || { echo >&2 "I require wine but it's not installed. Aborting."; echo; exit 1; }


PROGRAMFILES=$(wine cmd /c 'echo %PROGRAMFILES%' 2>/dev/null)


PROGFILES_PATH=$(winepath -u "${PROGRAMFILES}" 2>/dev/null)


INNO_PATH="${PROGFILES_PATH%?}/${INNO_BIN}"

 
SCRIPTNAME=$(winepath -w "$SCRIPTNAME" 2> /dev/null)


;[ ! -f "$INNO_PATH" ] && { echo "Install Inno Setup 5 Quickstart before running this script."; echo; exit 1; }


WINEDLLOVERRIDES="mscoree,mshtml=" wine "$INNO_PATH" "$SCRIPTNAME"

         



#define MyAppName "My.Webfan"
#define MyAppVersion "0.0.41-alpha"
#define MyAppPublisher "Till Wehowski, Webfan.de"
#define MyAppURL "http://webfan.de"
#define MyAppExeName "webfan.exe"

#define MyScheme "web+fan"
#define MyScheme_urn "urn"    
#define MyScheme_web_widget "web+widget"      
#define MyScheme_web_test "web+test"

# ...

[code]
[Icons]
Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon


; http://stackoverflow.com/questions/13567119/inno-setup-registry-entry-for-custom-url-protocol
[Registry]
Root: HKCR; Subkey: "{#MyScheme}"; ValueType: "string"; ValueData: "URL:Custom Protocol"
Root: HKCR; Subkey: "{#MyScheme}"; ValueType: "string"; ValueName: "URL Protocol"; ValueData: ""; Flags: deletekey uninsdeletekey
Root: HKCR; Subkey: "{#MyScheme}\DefaultIcon"; ValueType: "string"; ValueData: "{app}\{#MyAppExeName},1"; Flags: deletekey uninsdeletekey
Root: HKCR; Subkey: "{#MyScheme}\shell\open\command"; ValueType: "string"; ValueData: """{app}\{#MyAppExeName}"" ""%1"" ""%2""  ""--web+fan=%1"" ""--gui=browser"""; Flags: deletekey uninsdeletekey

Root: HKCR; Subkey: "{#MyScheme_urn}"; ValueType: "string"; ValueData: "URL:Custom Protocol"
Root: HKCR; Subkey: "{#MyScheme_urn}"; ValueType: "string"; ValueName: "URL Protocol"; ValueData: ""; Flags: deletekey uninsdeletekey
Root: HKCR; Subkey: "{#MyScheme_urn}\DefaultIcon"; ValueType: "string"; ValueData: "{app}\{#MyAppExeName},1"; Flags: deletekey uninsdeletekey
Root: HKCR; Subkey: "{#MyScheme_urn}\shell\open\command"; ValueType: "string"; ValueData: """{app}\{#MyAppExeName}"" ""%1"" ""%2""  ""--urn=%1"" ""--gui=browser"""; Flags: deletekey uninsdeletekey

Root: HKCR; Subkey: "{#MyScheme_web_widget}"; ValueType: "string"; ValueData: "URL:Custom Protocol"
Root: HKCR; Subkey: "{#MyScheme_web_widget}"; ValueType: "string"; ValueName: "URL Protocol"; ValueData: ""; Flags: deletekey uninsdeletekey
Root: HKCR; Subkey: "{#MyScheme_web_widget}\DefaultIcon"; ValueType: "string"; ValueData: "{app}\{#MyAppExeName},1"; Flags: deletekey uninsdeletekey
Root: HKCR; Subkey: "{#MyScheme_web_widget}\shell\open\command"; ValueType: "string"; ValueData: """{app}\{#MyAppExeName}"" ""%1"" ""%2""  ""--web+widget=%1"" ""--gui=browser"""; Flags: deletekey uninsdeletekey

Root: HKCR; Subkey: "{#MyScheme_web_test}"; ValueType: "string"; ValueData: "URL:Custom Protocol"
Root: HKCR; Subkey: "{#MyScheme_web_test}"; ValueType: "string"; ValueName: "URL Protocol"; ValueData: ""; Flags: deletekey uninsdeletekey
Root: HKCR; Subkey: "{#MyScheme_web_test}\DefaultIcon"; ValueType: "string"; ValueData: "{app}\{#MyAppExeName},1"; Flags: deletekey uninsdeletekey
Root: HKCR; Subkey: "{#MyScheme_web_test}\shell\open\command"; ValueType: "string"; ValueData: """{app}\{#MyAppExeName}"" ""%1"" ""%2""  ""--web+test=%1"" ""--gui=browser"" ""--gui=cli"""; Flags: deletekey uninsdeletekey

[/code]
Antworten
#9
app.domainundhomepagespeicher.webfan.de/cdn/application/install/webfan/mac-x64/setup.exe
app.domainundhomepagespeicher.webfan.de/cdn/application/install/webfan/linux-x32/setup.exe
app.domainundhomepagespeicher.webfan.de/cdn/application/install/webfan/linux-x64/setup.exe

Mich interessiert hier zunächst ob der Installer funktioniert, fürs Testen bedanke ich mich!
Antworten
#10
Jo, haut bei mir hin ( Windows 10 Pro 64bit )
Antworten


Gehe zu: