windows installer doesn't allow choice of folder anymore

Bug #1552373 reported by king of nowhere
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
widelands
Opinion
Wishlist
Tino

Bug Description

the latest windows installers (versions older than 7826) does not let me choose the folder in which to install the game anymore. It automatically overwrites the default folder (which is the last folder you installed a widelands version, in my case widelands 7826)

Tags: windows
GunChleoc (gunchleoc)
Changed in widelands:
status: New → Confirmed
assignee: nobody → Tino (tino79)
tags: added: windows
Revision history for this message
Tino (tino79) wrote :

Yes. All installers from me and Travis define the same "AppID" and therefore can only be installed once on a system.
But as far as I can see, this has always been this way?

Revision history for this message
king of nowhere (lainluigi86) wrote :

if i understand correctly, you are talking about installing twice the same version with different names, which i never tried. I'm talking about installing different version. the default folder is the one you used for the last time one installed a widelands version, and it cannot be modified. up until 7826 one could choose the destination folder freely.

Revision history for this message
Tino (tino79) wrote :

No, i am talking about different versions. Every installer of every revision me or Appveyor build contains the same AppID.
So you can only one build at each time on your system.

The last change to installer logic was rev 7721: Widelands does now not require any administrator privileges when installing.
So maybe a problem if you have installed a version <7721 with administrative privileges into a directory which requires admin privs?
And now using a current installer without admin privs? (It won't request admin privs, "run as admin" if desired)

If you download and install Build-18 and then take any installer which was build later up to today: Each should detect the last installed folder and only allow install there if Widelands is already installed.

Because the "normal" user does not want to install different versions of Widelands in parallel, i won't change the scripts (my personal and appveyor ones) to generate unique AppIDs to allow this.

The release (candidates ) of Build-19 will get unique AppIDs.

Setting to won't fix.

Changed in widelands:
status: Confirmed → Won't Fix
assignee: Tino (tino79) → nobody
Revision history for this message
king of nowhere (lainluigi86) wrote :

it's not something related to 7721 because I have 7749 among the vesions installed, with its own folder.
So, you are saying that I was not supposed to have multiple versions installed, and it only worked accidentally? Well, good for me, because I actually want to have many versions installed. I have no idea about the "average" user, but deleting an older version makes no sense to me. widelands take around 100 MB, it's not like it's going to fill up my hard disk.
And on the down side, deleting an older version often generates incompatibility problems with older saves and replays. For example, we have online folders with the replays of the tournament, but those replays cannot be opened now because they are not compatible. What's the point of keeping them? Any saved game that is older than 10-15 versions cannot be opened. I know not many people make maps to play 50 hours long, but I do, and if I "updated" widelands like I am supposed to, I would not be able to finish games I started. And most people playing online still use build 18. If I could not keep build 18 along the newer ones, I would not be able to play online.
I know that the linux versions have the same problem, and it's something I never understood. I can understand making overwriting the default based on what most players want, but forbidding installing more versions entirely? Why?
Now, if you say that it would require lots of coding, that you have no time to program or more important fixes to do with that time, that's another matter. But "it's meant to be impossible to change the folder" makes no sense.
At this point, I would be curious as to why I was able to install different versions, but really, it's not important.
Do you think if I made a copy of widelands in another folder before installing the newer version, I would be able to keep the older one?

Tino (tino79)
Changed in widelands:
assignee: nobody → Tino (tino79)
importance: Undecided → Wishlist
status: Won't Fix → Opinion
Revision history for this message
Tino (tino79) wrote :

Some additions:
- Widelands takes ~269MB per installation (even my build without music take ~170)
- Multiple versions can be dangerous: If the user specifies the wrong datadir widelands does not run correctly

But i can understand why someone wants to install multiple versions. But i need more information how Innosetup handles this and why it was working at some point and now it is not.
If you have multiple versions installed, please help me, and have a look at http://imgur.com/a/rbRcq:
- Open the files "unins000.dat" in at least 2 of your installations and look for the AppID in line 1: Does yours is different from {WIDELANDS-WIN32-IS} in any?
- Look into "Program & Features" in your windows settings? With which versions are the different versions listed?

I am planning to revise the install setup because at the moment if you install into the same directory (and this is currently the only option) the old version does not get uninstalled => possible file clashes. So at least we need to figure out to let Inno uninstall an existing Widelands correctly before. And if i can identify how to set a correct AppID (perhaps the bzr revision) multiple versions can be an option.

Revision history for this message
king of nowhere (lainluigi86) wrote :

- Open the files "unins000.dat"
That line is always WIDELANDS-WIN32-IS.

- Look into "Program & Features"
That's odd: while i have 6 different versions installed, they all work correctly, and they are all different, only two of them are listed in the programs and features: 7695 and 7852.

Revision history for this message
king of nowhere (lainluigi86) wrote :

I tried to copy the folder with widelands. Both folders worked properly, and I was able to open the same version in two separate windows.
Then I installed the latest version, and it overwrote the original folder. It did not touch the other copy. Both versions work perfectly fine, at least as far as I could see.

So, I can say that there aren't any immediate conflict among multiple installed versions, regardless of AppIDs. And that letting a player simply change the destination folder isn't going to create any problem.

Revision history for this message
GunChleoc (gunchleoc) wrote :

It used to work with Build 18 - I also find it convenient if I can easily install multiple versions for testing purposes. Copying or renaming the old version before installing the new should work though.

I also noticed that there's no uninstall, because our data files changed so much and the old files are still there. The uninstall will need to write a file that remembers what has been installed.

Innsosetup documentation for [UninstallDelete]:

http://www.jrsoftware.org/ishelp/index.php?topic=uninstcmdline

There seems to be no way to easily call the uninstaller within the installer, so the files to delete will need to be specified in an [InstallDelete] section

http://www.jrsoftware.org/ishelp/index.php?topic=installdeletesection

http://stackoverflow.com/questions/2000296/innosetup-how-to-automatically-uninstall-previous-installed-version

Revision history for this message
fuchur (fuchur77) wrote :

I also found it very helpfull to be able to install different versions in parallel. For example when watching the replays of the last tournament one needed quite some different versions.

I don't remember if it has always been possible to choose the install folder. But it was possible for build 18 and later development builds. On the machine I'm currently sitting I have b18, b7331 and b7428.

In the Programs and Features section of the control panel I can only uninstall b7428. But if I know that I can delete older unwanted widelands installations manually. I think it won't do any harm to simply delete the folder.

As far as I can see the only thing in the data folder (c:\users\<username>./widelands) is the config file which may have different settings for different versions. But I never encountered any problems. Of course save games and replays of different versions are not always compatible, but that's not a problem if one decides to install a developtment build.

Another thing is that I like to group my installed programs in subfolders of the Program Files folder. That means I have subfolders like _audio, _games, _tools for software of the corresponding categories. Maybe other people like to install some software to a different partition of the harddisk.

As far as I understand the workaround could be to rename the last widelands install folder before executing the new setupt. But I'd prefer to be able to choose the destination folder in the installer like it was possible before.

Ok, I don't have the time to play a lot, therefore I won't install widelands very often. So the workaround would be ok for me if it's too much work.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.