投稿者 トピック: [111.2.2] インストーラー版のポータブルインストールがおかしい  (参照数 4880 回)

z9999+

  • 管理人
  • 急行
  • *
  • 投稿: 381
インストーラー版を使って、プログラムフォルダ(デフォルト)にインストールすると、ポータブルインストールになる。config\simuconf.tabが、「singleuser_install = 1」になり、スタートアップに何も作成されない。
逆にインストーラー版を使って、プログラムフォルダ以外にインストールすると、マルチユーザーインストールになる。ポータブルインストールするかどうかをユーザーに問い合わせしない。スタートアップにメニューが作成される。
この動作は過去のバージョンと逆で、ユーザーが過去のバージョンからアップデートした場合、過去のゲームが保存されているsaveフォルダを認識しなくなる。


If I install simutrans to program folder (default), simutrans will be installed as portable.
If I install simutrans to out of program folder, simutrans will be installed as multiuser mode. Installer doesn't ask whether portable installing or not.

This behavior is quite the opposite to the older versions.
If user updated from older versions, previous 'save' folder will not be recognized by simutrans because of this problem.

older behavior was...
program dir ?
->yes: NonPortable
->no: show MessageBox

current behavior is...
program dir ?
->yes: Portable
->no: NonPortable

I'm not sure this fix below is correct or not.

引用
Function CheckForPortableInstall
  StrCpy $multiuserinstall "1"
  StrLen $1 $PROGRAMFILES
  StrCpy $0 $INSTDIR $1
  StrCmp $0 $PROGRAMFILES +4
  Goto NonPortable

  ; ask whether this is a protable installation
  StrCmp $INSTDIR $PROGRAMFILES\Simutrans NonPortable
  MessageBox MB_YESNO|MB_ICONINFORMATION "Should this be a portable installation?" IDYES Portable IDNO NonPortable
Portable:
  StrCpy $multiuserinstall "0"
NonPortable:



引用
Function CheckForPortableInstall
  StrCpy $multiuserinstall "1"
  StrLen $1 $PROGRAMFILES
  StrCpy $0 $INSTDIR $1
  StrCmp $0 $PROGRAMFILES NonPortable
  ; ask whether this is a protable installation
  MessageBox MB_YESNO|MB_ICONINFORMATION "Should this be a portable installation?" IDYES Portable IDNO NonPortable
Portable:
  StrCpy $multiuserinstall "0"
NonPortable:
« 最終編集: 2012/04/08 22:24 by z9999+ »

z9999+

  • 管理人
  • 急行
  • *
  • 投稿: 381
I tried latest online installer, and having the another problem.

When I installed in default folder (C:\Program Files\Simutrans), simutrans was installed as multiuser. This is ok.
When I installed in out of program folder, simutrans was installed as portable. This is also ok.

But...
When I tried to installed in program folder (C:\Program Files\Simutrans2), installer asked 'Should this be a portable installation?'.
This is strange.

And more strange thing is...
When I click 'Yes',  simutrans was installed as multiuser. Not portable !
When I click 'No',  simutrans was installed as portable.
Too bad.

Two problems.
  • Folder name comparison is wrong.
  • Yes/No is opposite.

prissi

  • 各駅停車
  • *
  • 投稿: 45
Thanks, last bug was still pending.