Picross Touch

Picross Touch

评价数不足
Fix Crashing on Launch
由 Avianographer 制作
If you experience a crash when launching Picross Touch and have the Citrix Workspace application installed, this guide is for you.
   
奖励
收藏
已收藏
取消收藏
Summary
Picross Touch is built using the Unity development platform. The Unity Player, which is responsible for executing the game's code, has a known issue parsing virtual display adapters. This causes Unity Player to throw an exception and exit the program. Since Citrix Workspace installs one such virtual display adapter by default, this will cause Picross Touch to crash on launch.
Cause
When Unity initializes the display adapters for use in the game, it performs the following steps.

  1. Queries the Windows Management Instrumentation (WMI) namespace for display adapters using the GetDisplayAdapterPropertyWMI Unity function.
  2. Queries each display adapter's driver for version information.
  3. Determines the appropriate display adapter to use.
  4. Places the display adapter into Direct3D mode.
  5. Creates a graphics object for the developer to use.

When Unity receives the information from WMI, it is explicitly expecting "SUBSYS_" to be part of the PNPDeviceID string. Virtual display adapters do not have "SUBSYS_" in their PNPDeviceID string, so Unity throws an exception and exits.
Resolution
In order to fully resolve this issue without the use of a workaround (see below), the developer must build their game with a version of Unity after 2017.4.16f1 or 2018.2.17f1 and deploy the updated files to users.
Workaround
In the absence of an update from the developer, the following steps may be completed in order to work around this issue.

  1. Begin by uninstalling the Citrix Workspace application. Even though the uninstaller will not prompt you to do so, you must reboot after completing this step. The virtual display adapter is not fully removed until you do.
  2. Download the latest version of the Citrix Workspace installer[www.citrix.com].
  3. Open an elevated Command Prompt window. If you are unfamiliar with how to do so, here is a guide from Bleeping Computer[www.bleepingcomputer.com].
  4. Navigate to the location to which you downloaded the installer. If this is your Downloads folder (the default location), you would type
    cd C:\Users\<yourusername>\Downloads
    Replace <yourusername> with your Windows user name. (e.g. C:\Users\Avian\Downloads)
  5. Run this command to execute the Citrix Workspace installer and exclude the virtual display adapter.
    CitrixWorkspaceApp.exe ADDLOCAL=ReceiverInside,ICA_Client,AM,SELFSERVICE,DesktopViewer,Flash,Vd3d,WebHelper,BrowserEngine
    Note: This should be a single line. If your Steam application or web browser splits this into two separate lines, you must combine them again with a space between "CitrixWorkspaceApp.exe" and "ADDLOCAL=".
  6. The installation will proceed normally. It is recommended to reboot your system after this installation.
2 条留言
Aoi Blue 2024 年 7 月 16 日 上午 5:49 
BTW, for those not familiar you can find guides to install DXVK for a windows application (or systemwide if you prefer) on many modding guide sites.  It is a project made for Wine on Linux that is frequently used to get better performance and reliability out of older Direct3D 9 games on newer Windows versions.  It can also run Direct3D 10 and 11 games.
Aoi Blue 2024 年 7 月 16 日 上午 5:46 
As a note, you can also simply install dxvk or force the game to run in OpenGL mode.