unitysetup.powershell icon indicating copy to clipboard operation
unitysetup.powershell copied to clipboard

Installs hang when core OS components are missing from Components list.

Open StephenHodgson opened this issue 6 years ago • 9 comments

I'm currently using the following command to download all installer components then installing them, which has been working great.

Install-UnitySetupInstance -Verbose -Installers ( Find-UnitySetupInstaller -Version $(UnityVersion) -Verbose )

But when I attempted to cull that number down to try and get a shorter install time, for some reason hangs indefinitely and never completes.

Install-UnitySetupInstance -Verbose -Installers ( Find-UnitySetupInstaller -Version $(UnityVersion) -Components 'Windows_IL2CPP', 'UWP_IL2CPP' -Verbose )

StephenHodgson avatar Apr 01 '19 05:04 StephenHodgson

You'll need the 'Windows' component as well for first time installs. You probably had an error box about not being able to find Unity.exe sitting there waiting for your input.

If you can confirm that fixes it maybe we can change this ticket to enhance the installer to test if you haven't included the core installer for the platform, check if it's available, and if not error out.

jwittner avatar Apr 01 '19 18:04 jwittner

Huh, I was trying to avoid the Windows component all together and just download the il2cpp version.

What is the dependency on the Windows component?

StephenHodgson avatar Apr 01 '19 19:04 StephenHodgson

Each OS has a core installer that installs Unity.exe. UnitySetup lumps them in with the other components. So you need Windows, not for the ability to build for Windows, but because that's the core installer for the Windows OS that installs Unity.exe. For Mac/Linux, you need the Mac/Linux components.

jwittner avatar Apr 01 '19 21:04 jwittner

@StephenHodgson - can we close this out?

jwittner avatar Apr 01 '19 22:04 jwittner

Wondering if it's still a bug bc it doesn't automatically install the required component 💭

StephenHodgson avatar Apr 02 '19 02:04 StephenHodgson

What's the expected behavior here? Detect that it's missing and error out? Or automatically install it?

jwittner avatar Apr 02 '19 02:04 jwittner

I'd say maybe automatically install it since it's a required component. Thoughts?

StephenHodgson avatar Apr 02 '19 03:04 StephenHodgson

@Ziugy, @derekfreed, @timGerken - thoughts on this?

jwittner avatar Apr 02 '19 16:04 jwittner

At minimum better error handling should be implemented. I would expect that this case is an error instead of assuming the intent. I see this example listed as installing extra components to a current installation.

How we download installers has room for improvement. We should at skip download and install of components already installed. I would still expect that the platform should be specified to be more explicit on actions. If there's concern about always installing Mac when you're on Windows then perhaps that's something further to discuss.

Ziugy avatar Apr 02 '19 17:04 Ziugy