so in your case the error 1603 seems to come from a permission issue:
Calling custom action juno-custom-actions!JunoCustomActions.JunoCustomActions.ConfigureShortcuts
Exception thrown by custom action:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
at System.Runtime.InteropServices.ComTypes.IPersistFile.Save(String pszFileName, Boolean fRemember)
at JunoCustomActions.JunoCustomActions.CreateShortcut(String path, String target, String workingDirectory, Int32 iconIndex, String arguments)
at JunoCustomActions.JunoCustomActions.ConfigureShortcuts(Session session)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object parameters, Object arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture)
at Microsoft.Deployment.WindowsInstaller.CustomActionProxy.InvokeCustomAction(Int32 sessionHandle, String entryPoint, IntPtr remotingDelegatePtr)
MSI (s) (F0:F0) [16:05:43:685]: Note: 1: 2318 2:
CustomAction JunoConfigureShortcuts returned actual error code 1603
have you tried running as admin?