On Mon, Nov 3, 2014 at 10:16 AM, Warlich, Christof
<[email protected]> wrote:
> Hi Ray,
>
>> If you do manage to come up with something please share it with us as I'm
>> sure others would like to be able to do this.
>
> It almost does work with the following script:
>
> $ cat install.qs
> function Controller() {}
> Controller.prototype.IntroductionPageCallback = function() {
> //gui.clickButton(buttons.NextButton);
> print("IntroPage\n");
> }
> Controller.prototype.TargetDirectoryPageCallback = function() {
> var page = gui.pageWidgetByObjectName("TargetDirectoryPage");
> page.TargetDirectoryLineEdit.setText("d:\\mydir");
> gui.clickButton(buttons.NextButton);
> print("TargetDir\n");
> }
> Controller.prototype.StartMenuDirectoryPageCallback = function() {
> gui.clickButton(buttons.NextButton);
> print("StartMenu\n");
> }
> Controller.prototype.FinishedPageCallback = function() {
> gui.clickButton(buttons.FinishButton);
> print("Finish\n");
> }
>
> It may be called as follows:
>
> $ ./msys2-i686-20141003.exe -v --script install.qs
>
> The reason why I said "almost": The Intro-Page is still shown, so one click
> (on the initial Next-Button) is still required. Obviously, this is because
> "gui.clickButton(buttons.NextButton);" is commented out in function "
> Controller.prototype.IntroductionPageCallback ". Unfortunately, if
> uncommenting that line as it should be, the installer segfaults after leaving
> " IntroductionPageCallback ", but before entering "
> TargetDirectoryPageCallback " without any further usable notice :-(.
>
> I've no idea why this happens, but I'd very much appreciate if you would use
> your contacts into #qt-sdk to report this issue; maybe someone there could
> give a hint w.r.t. what's going wrong.
>
Well, I'd rebuild the qt-installer-framework in debug, unstripped mode
to get as much detail as I could before escalating on #qt-sdk (or
{bugreports,codereview}.qt-project.org depending on how well I got on
with attempting a fix) as they'd ask for a callstack at least. To do
that change this bit:
https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-qt-installer-framework/PKGBUILD#L14-L15
swap the # from line 15 to line 14, then rebuild with makepkg-mingw
-sLf, then install the debug version with pacman -U *pkg*.xz and run
it through GDB (or if you like IDEs then Qt Creator).
> Furthermore, I found one thing in the MSYS installer that looks inconsistent
> to me and that might be related to the issue: When looking at
>
>
> https://github.com/Alexpux/MSYS2-packages/blob/master/msys2-installer/qt-ifw/packages/com.msys2.root/meta/installscript.js,
>
> the introduction page seems to be set to be invisible:
>
> installer.setDefaultPageVisible(QInstaller.Introduction, false);
>
> but it _does_ show up nevertheless. Maybe this is the reason why the
> installer segfaults when "clicking" it programmatically? Just a wild guess.
>
Ok, thanks for the info (and the script). I'm really tired today as I
didn't sleep, and with my current todo list I won't get a chance to
look into it for maybe a week, however feel free to dive in and I'll
be happy to hear of any progress you manage to make.
Best regards,
Ray.
> Cheers,
>
> Chris
>
>
> -----Ursprüngliche Nachricht-----
> Von: Ray Donnelly [mailto:[email protected]]
> Gesendet: Dienstag, 28. Oktober 2014 11:53
> An: Alexey Pavlov
> Cc: Warlich, Christof; [email protected]
> Betreff: Re: [Msys2-users] best practise w.r.t an unattended msys2 install
>
> On Tue, Oct 28, 2014 at 10:23 AM, Alexey Pavlov <[email protected]>
> wrote:
>>
>> 28 окт. 2014 г., в 13:11, Warlich, Christof
>> <[email protected]>
>> написал(а):
>>
>> Hi,
>>
>> I need to set up a non-interactive MSYS2 install, i.e. one that does
>> not need any user interaction. What is the recommended procedure for this:
>>
>>
>> extracting msys2-base-i686-20141003.tar.xz to the location desired and
>> then executing msys2_shell.bat (and maybe autorebase.bat) once to do
>> the initial user specific setup calling msys2-i686-20141003.exe with
>> some command-line switch that puts it in non-interactive mode
>>
>>
>> While I think I know how to proceed when following the first option,
>> I’d prefer the second if possible, i.e. if there is some command line
>> switch to support installation non-interactively. But the help
>> provided by msys2-i686-20141003.exe is rather terse (see below). Is
>> there some more elaborate documentation available?
>>
>>
>>
>> MSYS2 installer is based on Qt Installer Framework:
>> http://qt-project.org/doc/qtinstallerframework-1.5/index.html
>>
>>
>> As I know it doesn’t have options for silent install.
>>
>
> I had a quick chat on #qt-sdk about this, and you can write a script and pass
> that in with --script. The qt-ifw testsuite uses this facility.
>
> From looking at the files here:
> https://qt.gitorious.org/installer-framework/installer-framework/source/368b00f3fc3e4b9635e68bdca8d5f17d7c881d72:tests/test-installer
> and here:
> https://github.com/Alexpux/MSYS2-packages/tree/master/msys2-installer/qt-ifw
>
> It should be possible to make it work. If you do manage to come up with
> something please share it with us as I'm sure others would like to be able to
> do this.
>
>> Regards,
>> Alexey.
>>
>> Thanks,
>>
>> Chris
>>
>> $ ./msys2-i686-20141003.exe -h
>> Usage: C:\tmp\msys2-i686-20141003.exe [options] Key=Value
>>
>> Options:
>> -?, -h, --help Displays this help.
>> --version Displays version information.
>> -v, --verbose Verbose mode. Prints out more information.
>> --proxy Use system proxy on Windows and OS X. This
>> option has no effect on Linux.
>> --script <file> Execute the script given as argument.
>> --checkupdates Check for updates and return an XML
>> description.
>> --updater Start application in updater mode.
>> --manage-packages Start application in package manager mode.
>> --no-force-installations Allow deselection of components that are
>> marked as forced.
>> --show-virtual-components Show virtual components in installer and
>> package manager.
>> --create-offline-repository Create a local repository inside the
>> installation directory. This option has no
>> effect on online installers.
>> --addRepository <URI,...> Add a local or remote repository to the
>> list
>> of user defined repositories.
>> --addTempRepository <URI,...> Add a local or remote repository to
>> the list
>> of temporary available repositories.
>> --setTempRepository <URI,...> Set a local or remote repository as
>> temporary
>> repository, it is the only one used during
>> fetch.
>> Note: URI must be prefixed with the
>> protocol,
>> i.e. file:///, https://, http:// or ftp://.
>> --startserver <port,key> Starts the application as headless process
>> waiting for commands to execute.
>>
>> Arguments:
>> Key=Value Key Value pair to be set.
>>
>>
>>
>> ----------------------------------------------------------------------
>> -------- _______________________________________________
>> Msys2-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/msys2-users
>>
>>
>>
>> ----------------------------------------------------------------------
>> --------
>>
>> _______________________________________________
>> Msys2-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/msys2-users
>>
------------------------------------------------------------------------------
_______________________________________________
Msys2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/msys2-users