Board index FlightGear Development

For Developers: Windows Install and Runtime Best-Practices

FlightGear is opensource, so you can be the developer. In the need for help on anything? We are here to help you.
Forum rules
Core development is discussed on the official FlightGear-Devel development mailing list.

Bugs can be reported in the bug tracker.

Re: For Developers: Windows Install and Runtime Best-Practic

Postby jharris1993 » Sat Apr 20, 2013 10:12 pm

Oh, and a P.S. that your signature made me think about:

I'd be more than happy to contribute to the newsletter, just as soon as I do something newsworthy!

Jim (JR)
What say ye?

Jim (JR)

Some see things as they are, and ask "Why?"
I dream things that never were, and ask "Why Not".

Robert F. Kennedy

“Impossible” is only found in the dictionary of a fool.
Old Chinese Proverb
jharris1993
 
Posts: 139
Joined: Sun Nov 18, 2012 9:20 pm
Location: Worcester, MA. / Moscow, Russia
Callsign: $%^&ing Idiot!
Version: Whatever..
OS: Win-7 / Linux

Re: For Developers: Windows Install and Runtime Best-Practic

Postby jharris1993 » Sun Apr 21, 2013 3:55 am

Recipe for "Crow"

I have had a chance to go back and look over some of the posts in this thread, and I think it's time I got out my cook-book and started looking up some of my recipes for "Eating Crow" - or that famous desert, "Humble Pie". :oops:

Particularly, I should apologize to Zakalawe for flaming his response to me. ( :oops: :oops: :oops: )

I do not seek to excuse the behavior as it was, and remains, inexcusable.

However by way of explanation, I might mention that having been running all over the house, painting, fixing, lifting things heavier than I really should be lifting, (etc.), I have been in considerable amounts of pain. To add even more habaneros to an already steaming pot of chilli, Percocet, (a mixture of Oxycontin and Tylenol), not only mucks up your driving skills, but it plays hob with your social skills as well. Not that I have any social skills to speak of anyway, but that's a different story. . . . :roll:

One assumption that I had made was that EVERYONE has access to all the latest-and-greatest versions of Windows.

Zzzzzzzt! We're sorry, but your answer must be in the form of a question - (but thanks for playing!)

In fact, looking more carefully at Zakalawe's installer, it is actually a classic "Windows XP" style install with everything placed inside the program's install directory. And, for Windows XP as well as earlier versions of Windows, that kind of install works wonderfully!

However. . . . .

"Da' bitch part" as they say, is that Microsoft has been upset and annoyed with the tendency to cram everything inside the program's install folder since, well, at least Windows 98-SE and they have been bitching and moaning about it ever since then. So, sick and tired of everyone ignoring them, they decided to do something starting with Vista. If you try the classic "XP" type of install on a box running Vista, Win-7 or Win-8, it will make a complete balls-up of things.

Well, (cough! cough!), getting back to Zakalawe's installer, I suspect that it is very likely that his VM's have some copy of XP on them that he scrounged from somewhere. Which doesn't help, since if things DO go wrong with later versions of Windows, he'll never, ever see it.

In my case, because of the work I do, I have an active Microsoft TechNet subscription which gives me the opportunity to download all kinds of goodies from Microsoft, with legit keys, and play to my heart's content. I want XP? I got it. I want Server 2012 Enterprise Edition, I got that too. Windows 8? No problemo dude. And most of my colleagues also have armloads of Windows software, since they are working in QA or development environments. So, I forget that not everyone is as "blessed" (if you want to call it that), as we are.

What I can do is this:
  • Pound my head on the floor in abject apology.
  • Offer to run anything you want past any (Windows) operating system you choose. (Assuming I can get it.)
  • Offer to "endow" the FlightGear community with a licensed copy of Windows 7 - with a real, legit, key - that you can install on a VM for installer builds and tests. I want to send you folks a 64 bit version of Windows 7 because you can use that to test the 32 bit versions you cut now, AND you can also use it to test the newer 64 bit beta builds you're working on. If you really want one of each, I will see what I can do.
I can transmit an ISO and the key to you electronically, but - officially - I should really send you the hard-copy media and COA sticker. Other than Curtis's address on the outside of the package he sent me my "official" DVD set in, I have no idea who to send this stuff to.

What say ye?

Jim (JR)
What say ye?

Jim (JR)

Some see things as they are, and ask "Why?"
I dream things that never were, and ask "Why Not".

Robert F. Kennedy

“Impossible” is only found in the dictionary of a fool.
Old Chinese Proverb
jharris1993
 
Posts: 139
Joined: Sun Nov 18, 2012 9:20 pm
Location: Worcester, MA. / Moscow, Russia
Callsign: $%^&ing Idiot!
Version: Whatever..
OS: Win-7 / Linux

Re: For Developers: Windows Install and Runtime Best-Practic

Postby Hooray » Sun Apr 21, 2013 8:12 am

As far as I know, the build server is run by a contributor from the US, you should probably get in touch via eMail to "donate" software for other environments.
However, as far as I understand, the VM image is merely used to CREATE a new package/installer, but not to literally test it:
http://www.mail-archive.com/flightgear- ... 27592.html
For people who don't know, a build server talks to some slaves, and
grabs/builds/tests/packages code. The current server is talking to one slave,
which is an Ubuntu VM which is building Tim's 'next' branch on Gitorious.

The objective of such systems is that there should be *zero* human steps to
create a release - not just out of laziness, but for repeatability. I.e don't
write a checklist or 'howto' of creating a release, write a shell script that
does the steps. (Or several). And check those scripts into a source control
system, too.

'Soon' I will be setting up a WinXP slave, with a MinGW build. Hopefully this
will even extend to a NSIS installer script, if Fred has one lying around. At
which point we should have nightly installers available for Windows, and a
happier Fred. (A VisualStudio build is also possible, but requires more
interaction with someone else, who has an externally-addressable/tunnel-able
box with VS installed).


(any slave could be a VM, of course - they use CPU while building, but unlike
other projects, our commit rate isn't that high - the slaves will be idle most
of the time)
(A Mac slave is also possible, but requires some more work, I will worry about
it assuming people want to pursue this whole concept)

Build jobs can run arbitrary shell scripts - they can tag things in CVS or Git,
they can create tarballs, upload files to SFTP/FTP servers, the works. So, if
Durk/Curt/Fred could codify, somewhere, the steps (in terms of 'things doable
in a shell/.bat script') to create an FG pre-release and final-release, I am
happy to do the work to get the process automated.

At which point, doing a release means clicking a button on a webpage (on
Hudson), and letting the slaves grind away for an hour or so. Magic!

(Another thing the server can do, is email/IRC people when the build breaks on
Linux / FreeBSD / Mac / Win due to a commit - obviously very handy for the
devs. Yet another thing it can do is run test suites - unfortunately we don't
have many such tests)

(If anyone wants to get into providing nightly .debs or .rpms, that could also
be done, but requires people who know those systems, and again can provide a
suitable externally address slave to run the builds)

James


Regarding the installer script:
Building FlightGear under Vista
FredB wrote:There is already an inno-setup script in Packages/ that builds fgsetup.exe,
with data, but for snapshot builds, I only make zip files of exe and dll,
including fgrun. You can see by yourself by downloading from
ftp://ftp.ihg.uni-duisburg.de/Flightgear/Win32 . There is a wiki page that
describe how to stay current under Windows.

Regards,
-Fred


Regarding your apology: it's an unfortunate truth that the project is shouldered by very few people, obviously "new"community members tend to look for those contributors who have a certain track record, and responsiveness - which certainly applies to people like Stuart and Zakalawe who are both going out of their way to interface between the developer/end user community, and whose degree of responsiveness is by far above what you can usually expect from other core developers, i.e. an unfortunate imbalance here - in that the more you do, the more fronts you gotta handle in the end . So there's that... And you'll probably come to notice that first hand, once you stick around - so that people will get you involved regarding documentation/installer issues :lol:
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11124
Joined: Tue Mar 25, 2008 8:40 am

Re: For Developers: Windows Install and Runtime Best-Practic

Postby Michat » Sun Apr 21, 2013 9:23 pm

Michat reporting.
To JIM Junior.

However, I would have to ask you this: When you install programs on your Spanish localized system, where do they normally get installed to? The "Program Files" folder? Or the "Archivos de Programa" folder?

Usually the path for the 95% of the installers Program files. User can choose, and easily been confused.

I wonder how many countries have that special folder.

To Gijs, can you tell us if you remember to have a Program Files folder and also another folder called Program Files (but in dutch named)? I mean in Xp, maybe you can give some light about it.
User avatar
Michat
 
Posts: 923
Joined: Mon Jan 25, 2010 6:24 pm
Location: Spain
Version: 191b
OS: GNewSense

Re: For Developers: Windows Install and Runtime Best-Practic

Postby Gijs » Mon Apr 22, 2013 8:33 am

In Dutch it's just the same as the English version. There are only a couple of languages that have their own localised paths actually. I think believe the actual path hasn't changed on those systems, only the path that the user sees (that's at least the case with Vista and 7 as far as I've experienced)...
Airports: EHAM, EHLE, KSFO
Aircraft: 747-400
User avatar
Gijs
Moderator
 
Posts: 9296
Joined: Tue Jul 03, 2007 2:55 pm
Location: Amsterdam/Delft, the Netherlands
Callsign: PH-GYS
Version: Git
OS: Windows 10

Re: For Developers: Windows Install and Runtime Best-Practic

Postby jharris1993 » Wed Apr 24, 2013 1:46 pm

Hooray wrote in Sun Apr 21, 2013 8:12 am:As far as I know, the build server is run by a contributor from the US, you should probably get in touch via eMail to "donate" software for other environments.
However, as far as I understand, the VM image is merely used to CREATE a new package/installer, but not to literally test it:
http://www.mail-archive.com/flightgear- ... 27592.html


Talking to zakalawe via some PM's, there is obviously a LOT I have to learn. And I thought LaTeX was hard! (laughing!)

Likewise, who is this "contributor from the US", and how do I contact him?

(Inner Quote)
For people who don't know, a build server talks to some slaves, and
grabs/builds/tests/packages code. The current server is talking to one slave,
which is an Ubuntu VM which is building Tim's 'next' branch on Gitorious.

<snip>

'Soon' I will be setting up a WinXP slave, with a MinGW build. Hopefully this
will even extend to a NSIS installer script, if Fred has one lying around. At
which point we should have nightly installers available for Windows, and a
happier Fred. (A VisualStudio build is also possible, but requires more
interaction with someone else, who has an externally-addressable/tunnel-able
box with VS installed).[/b]


Assuming that part of the build process is some kind of automated regression test on the build as noted above, then the WinXP slave (which, again I am assuming is used as an actual build machine), might be the "problem" since it will never catch an installation that violates Microsoft's new requirements. This is why I want to put a later copy of Windows into your hands. With this, you can build on a more current system, catch potential installer build "gotchas", and still have a build that will successfully test on an XP system.

(back to outer-level quote again)
Regarding your apology: it's an unfortunate truth that the project is shouldered by very few people, obviously "new"community members tend to look for those contributors who have a certain track record, and responsiveness - which certainly applies to people like Stuart and Zakalawe who are both going out of their way to interface between the developer/end user community, and whose degree of responsiveness is by far above what you can usually expect from other core developers, i.e. an unfortunate imbalance here - in that the more you do, the more fronts you gotta handle in the end . So there's that... And you'll probably come to notice that first hand, once you stick around - so that people will get you involved regarding documentation/installer issues :lol:


True. Been there and done that. However, what I was apologizing for was my abrupt and rude response to zakalawe's response.

On another note - but the same topic - do you folks have a software signing certificate? I don't remember if the installer comes up with the ugly "we don't know who the idiots were who wrote this piece of junk" dialog or not. If not, I'll probably have to go talk to the guys over at Commodo and see what I can do. They know me, and maybe we can do business.

For the time being, since things appear to be MUCH more complex than I had originally imagined, I don't think I will be able to pound out code right away - there is a lot of research and a rather steep learning curve I will have to climb first. However, what I can do, and will do insofar as I can, and can afford, is make sure you folks have the correct tools to do the job in the best manner possible. I believe that this is a good and helpful starting point. We can worry about integrating the new tools as a going-forward project.

What say ye?

Jim (JR)

p.s. The "JR" is a moniker left over from the days I used to work at Vality, and is a humorous reference to the television show "Dallas" since I grew up down in the Southern part of the U.S. With an accent to match. :) There was another employee - who pre-dated my employment there - also known as "Jim" so they had to distinguish between us. Since "Jim" is as common a name over here as "Ludmilla" is in Russia, I have continued to use (JR) as a distinguishing mark.
What say ye?

Jim (JR)

Some see things as they are, and ask "Why?"
I dream things that never were, and ask "Why Not".

Robert F. Kennedy

“Impossible” is only found in the dictionary of a fool.
Old Chinese Proverb
jharris1993
 
Posts: 139
Joined: Sun Nov 18, 2012 9:20 pm
Location: Worcester, MA. / Moscow, Russia
Callsign: $%^&ing Idiot!
Version: Whatever..
OS: Win-7 / Linux

Re: For Developers: Windows Install and Runtime Best-Practic

Postby Hooray » Wed Apr 24, 2013 3:11 pm

Talking to zakalawe via some PM's, there is obviously a LOT I have to learn. And I thought LaTeX was hard! (laughing!)

Yes, to make sense of Jenkins/VMs and SSH, you will definitely need to be familiar with Linux/Unix environments, and the corresponding software running there.

Likewise, who is this "contributor from the US", and how do I contact him?

Like I mentioned previously, see the link that I posted - according to which, his name is Gene Buckle:

since it will never catch an installation that violates Microsoft's new requirements.

I am not sufficiently familiar with the actual build server setup, you willl need to get in touch with Zakalawe to fill in the gaps, but as far as I know the Windows VMs are merely used to build the binaries, not to actually test the installer.

This is why I want to put a later copy of Windows into your hands. With this, you can build on a more current system, catch potential installer build "gotchas", and still have a build that will successfully test on an XP system.


I am not aware of any automated/scriptable way to test installers - which would be an important requirement here, so that regression tests can actually be run in an automated fashion by the build server. Jenkins/Hudson itself is fairly flexible actually - but installers are GUI-driven, GUIs are not all that easily "unit-tested".

Regarding your offer for different Windows versions, I'd get in touch with Zakalawe or Gene Buckle, who can probably tell you if they need your help here.

do you folks have a software signing certificate?

As far as I know, Zakalawe obtained one for Mac OSX, due to signing issues - I am not aware of any Windows-based developers having done that.

I'll probably have to go talk to the guys over at Commodo and see what I can do. They know me, and maybe we can do business.

That could actually be useful - given that Zakalawe mentioned that he paid for the OSX certificate out of his own pockets, without support from FlightGear.org or the AdSense ads running there: http://www.mail-archive.com/flightgear- ... 38775.html

I don't think I will be able to pound out code right away - there is a lot of research and a rather steep learning curve I will have to climb first.

Writing installer scripts isn't really "coding" actually - but I'm sure Zakalawe has already told you about the requirements.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11124
Joined: Tue Mar 25, 2008 8:40 am

Re: For Developers: Windows Install and Runtime Best-Practic

Postby Hooray » Mon May 06, 2013 3:43 pm

It would be also good to know if there's anything we can do to avoid the "force 32/64 bit" issue, that's been raised by a number of users:
viewtopic.php?f=17&p=182923#p182923
viewtopic.php?f=17&t=19872&p=182759&hilit=#p182759
viewtopic.php?f=22&t=19869&p=182724&hilit=#p182724
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 11124
Joined: Tue Mar 25, 2008 8:40 am

Re: For Developers: Windows Install and Runtime Best-Practic

Postby jharris1993 » Mon Dec 12, 2016 8:33 pm

Greetings!

It's been awhile, but I wanted to let you folks know that I haven't forgotten you all.

The wife has been in-and-out of the hospital several times, the job situation has been flaky at best, and things have been crazy. Now that I am transitioning into "retirement" mode, I will try to find more time to help work with this.

This isn't going to happen right away as part of the "retirement" process is moving to a different country, (Russia), from the United States. To say that this has more aspects than a cat has hair is a magnificent example of understatement.

The other side of this is that my two granddaughters had an opportunity to mess with a flight simulator at a recent "science expo", and they're hooked! This translates into my wife's point of view about Flight Gear changing from being "playing with toys" to "an important thing to do". 8)

So, I'm back. I noticed that in the most current documentation the old-style paths and structures are still being used. Ergo, this topic is still ripe.

Jim (JR)
What say ye?

Jim (JR)

Some see things as they are, and ask "Why?"
I dream things that never were, and ask "Why Not".

Robert F. Kennedy

“Impossible” is only found in the dictionary of a fool.
Old Chinese Proverb
jharris1993
 
Posts: 139
Joined: Sun Nov 18, 2012 9:20 pm
Location: Worcester, MA. / Moscow, Russia
Callsign: $%^&ing Idiot!
Version: Whatever..
OS: Win-7 / Linux

Re: For Developers: Windows Install and Runtime Best-Practic

Postby jharris1993 » Mon Jan 09, 2017 6:46 pm

Greetings!

As you all know by now, I've been making a nuisance of myself with the "reference install" thread.

Also, as I said, I'm back and want to help.

Right now my priorities are:
1. Installing a Windows and Linux test platform
2. Get the *&$^@!!ing thing installed and running - both Win & Linux.
3. Examine for obvious defects - especially in Windows - and report.
4. Once I am satisfied that I know what I'm doing - and what the Windows version is doing - trying to help James with the installer.
5. As appears to be universally true - Documentation is at the bottom of the list. :shock: :roll: Not because it's unimportant, it's just that it makes no sense for me to document a moving target. Once there's something worth documenting, I'll break out the word-processor and do it.

Thanks for your patience!

Jim (JR)
What say ye?

Jim (JR)

Some see things as they are, and ask "Why?"
I dream things that never were, and ask "Why Not".

Robert F. Kennedy

“Impossible” is only found in the dictionary of a fool.
Old Chinese Proverb
jharris1993
 
Posts: 139
Joined: Sun Nov 18, 2012 9:20 pm
Location: Worcester, MA. / Moscow, Russia
Callsign: $%^&ing Idiot!
Version: Whatever..
OS: Win-7 / Linux

Re: For Developers: Windows Install and Runtime Best-Practic

Postby Johan G » Mon Jan 09, 2017 9:00 pm

jharris1993 wrote in Mon Jan 09, 2017 6:46 pm:[...] it's just that it makes no sense for me to document a moving target. Once there's something worth documenting, I'll break out the word-processor and do it.

It might be a good idea to have a rough draft running, even if you do not intend to publish it yet. :wink:
Low-level flying — It's all fun and games till someone looses an engine. (Paraphrased from a YouTube video)
Improving the Dassault Mirage F1 (Wiki, Forum, GitLab. Work in slow progress)
Johan G
Moderator
 
Posts: 5292
Joined: Fri Aug 06, 2010 5:33 pm
Location: Sweden
Callsign: SE-JG
IRC name: Johan_G
Version: 3.0.0
OS: Windows 7, 32 bit

Re: For Developers: Windows Install and Runtime Best-Practic

Postby jharris1993 » Tue Jan 10, 2017 6:15 pm

Hooray wrote in Mon May 06, 2013 3:43 pm:It would be also good to know if there's anything we can do to avoid the "force 32/64 bit" issue, that's been raised by a number of users:
http://flightgear.org/forums/viewtopic. ... 23#p182923
http://flightgear.org/forums/viewtopic. ... t=#p182759
http://flightgear.org/forums/viewtopic. ... t=#p182724


Huh?

I've installed FG onto just about everything but a wet pancake, (and versions beyond 7 since I don't have access to them anymore), and I have never, never, never EVER seen anything about "force 32". The only thing that is reasonably close is what happens when you try to install an unsigned driver on a 64 bit system - or a 32 bit driver. Both of which are the fast-track to either a non-working app, or a borked system.

I'd really like to see more detail - the specific dialog if possible - and I'd like to know if these people are running in "dev" mode which bypasses the signing checks for drivers.

[rant]
Sometimes wacko blogs tell people to solve problems by bypassing them instead of fixing them - like turning off UAC, or driver signing - which makes me want to choke the [ahem!!] outta those idiots for offering bogus advice to people who really don't know better. Unfortunately, most users cannot tell the sheep from the goats, so it's not their fault.

As I wrote in a blog post on the QA Tech-Tips blog discussing the Windows System Restore feature:
Note: You will find articles on the Internet advising you to turn System Restore off for one reason or another. They allege it will speed up your system, (false), or that you will recover tons of disk space, (only partially true), or that it's undesirable for this or that reason, (absolute B.S.). They actually have the gall to suggest that you should destroy your first line of defense against system destruction to gain some nebulous - and often minimal - improvement to your system. Which, In My Humble Opinion, is absolute insanity!
. . . . .
It is my humble opinion that - if you need to dump something - dump all that worthless advice instead of System Restore.

. . . . which is about as brainy as telling a Linux user to solve permission/ownership problems by chmodding everything to "777".
[/rant] (smiley with steam coming out of both ears!)

Since I've logged enough "flight hours" on Windows - going all the way back to WFW 3 - so that I can speak reasonably intelligently on the topic, I would be willing to provide whatever help I can for people who are having Windows issues. Of course, I am still having my own "Windows issues" with FG, :shock: :roll: so. . . . I'll do what I can! :D

Jim (JR)

p.s. This includes FG maintainers, installers, and Dev types who may not be such experts in Windows. If there were a way to filter postings by O/S type, and get blurbs about Windows issues, I'd be willing to contribute in that way.
What say ye?

Jim (JR)

Some see things as they are, and ask "Why?"
I dream things that never were, and ask "Why Not".

Robert F. Kennedy

“Impossible” is only found in the dictionary of a fool.
Old Chinese Proverb
jharris1993
 
Posts: 139
Joined: Sun Nov 18, 2012 9:20 pm
Location: Worcester, MA. / Moscow, Russia
Callsign: $%^&ing Idiot!
Version: Whatever..
OS: Win-7 / Linux

Previous

Return to Development

Who is online

Users browsing this forum: No registered users and 4 guests