Since the constructor for Setup.php loads the vw_Hard_Core class...
Code:
if (!class_exists('vw_Hard_Core', false))
{
Core::init();
}
It looks like this can only happen if neither of the following files are readable (you must have at least one):
src/addons/vw/vw/config.php or
src/addons/vw/vw/config.php.xf2
If these files are "missing" then Core::init() would fail and the class would not be loaded.
This can happen if you just uploaded the ZIP for the first time and the files are not done uploading yet, or
This can happen if you have removed or renamed the files to something else, or
This can also happen if the "realpath" to the file returns a failure. For one, this may happen if one or more directories in the path name do not have the executable bit for the system user that PHP is running as.
If the files were not done uploading yet or one of the files was misnamed and you've fixed it, all you need to do is restart the PHP server process (clears the PHP opcache which may have cached that the file was not found), and retry clicking the Install button.
If the issue is due to permissions and you are unable to set the permissions as described, please try the following change. In
src/addons/vw/vw/Core.php, find:
Code:
$path = \XF::getSourceDirectory() . '/addons/vw/vw';
$path = realpath($path);
Replace with:
Code:
$ds = DIRECTORY_SEPARATOR;
$path = \XF::getAddonDirectory() . $ds . 'vw' . $ds . 'vw';
$rpath = realpath($path);
if ($rpath)
{
$path = $rpath;
}