Icon doesn't show up in the CAB installer - deployment

I have added icon.ico file (custom made) in my VS project for smart device application. I also created a CAB installer project. The icon.ico is supposedly automatically appears as a shortcut icon, but it doesn't work for me. Do I have to add icon.ico to my CAB installer project manually?

it appeared automatically, I guess VS was caching it.

Related

Import Eclipse C++ Workspace Into Visual Studio Code for Linux

I have a workspace in Eclipse on Linux Mint. This project builds for and ARM platform device running Debian linux.
I am not an expert on this. We have a guru who set it all up for us. I am not sure which method the project uses to build the apps, but I do know all I have to do it right click the project in Eclipse and select build on any of the apps and they build.
I would like to use VS Code to develop this app. Is there any way to import the whole workspace into VS Code and have it actually build and debug on the target device?
If so can someone please give me the steps?
I just clicked menu item File->Open Folder...
Then navigate to the parent folder of your workspace, which is actually your Eclipse workspace folder. Highlight it, then click the Select Folder button. Then it just loaded all my Source files in. I can't tell you how to convert to building your code, as I only did this to search files and hopefully find variable's definitions. And this worked! I didn't even need to do a full scan of my source files or anything (or maybe it did this automatically at some point). I just went to the definition-unknown variable's location I know about, highlighted it, and right-clicked and selected Go to definition, and it went and opened the file with its definition.

Visual studio Intellisense color-coding not working for unity script editing [duplicate]

When I want to edit C# Unity scripts, they open in Visual Studio. It is supposed to provide auto complete for all Unity related code, but it doesn't work.
Here you can see the missing functionality:
As seen, the transform object does not open the autocomplete menu.
Unity version: 5.5.2f1
Visual studio 2015
Visual Studio Tools for Unity is installed
There is no auto-completion because the script says "Miscellaneous Files" instead of the of the name of the Project. Take a look at the image below that came from the video in your question:
The "Miscellaneous Files" message can happen for many reasons:
It can happen when you open your Unity C# file from another folder instead of opening it from Unity Editor.
This can also happen because Unity crashed while Visual Studio is still open therefore corrupting some files.
It can happen because Unity was closed then re-opened but is no longer connected to Visual Studio. When Visual Studio is opened you get "Miscellaneous Files" and no auto-completion.
This can happen when Visual Studio Tools for unity is not installed.
When you create a script from Unity then quickly open it before Unity finish processing it or before the round icon animation stuff finish animating.
Most of the times, restarting Unity and Visual Studio should fix this.
I can't tell which one is causing the problem but I will cover the most likely solution to fix this.
Fix Part 1:
Download and Install Visual Studio Tools for unity from this link. Do this while Unity and Visual Studio are both closed.
From Unity Editor, go to Edit → Preferences... → External Tools. On the External Script Editor drop down menu, change that to Visual Studio 2015.
Fix Part 2:
If newly created C# files are coming up as Miscellaneous then follow the instruction below:
From Visual Studio, go to Tools → Options... → Tools for Unity → Miscellaneous. Under Show connectivity icon, set it to true then restart Visual Studio.
When you re-start, connection icon should now be available in Visual Studio. Click it then choose the Unity instance to connect to. The red 'x' icon should now turn into a brown checkmark icon. Now, when you create a new C# file in Unity, it should open without saying Miscellaneous.
Fix Part 3:
Still not fixed?
Re-import project then open C# Project.
Close Visual Studio.
From Unity, re-import project by going to Assets → Reimport All.
Now, open the project in Visual Studio by going to Assets → Open C# Project. This will reload the project and fix possible solution file problems.
Fix Part 4:
Still not fixed?
Fix each C# file individually.
Click on Show All Files icon.
Select the script that doesn't do auto-complete then right-click and select Include In Project.
Fix Part 5:
Not fixed yet?
Credit goes to chrisvarnz for this particular solution which seems to have worked for multiple people.
Close Visual Studio
Go your project directory and delete all the generated Visual Studio files.
These are the files extensions to delete:
.csproj
.user
.sln
Example:
Let's say that the name of your Project is called Target_Shoot, these are what the files to delete should look like:
Target_Shoot.csproj
Target_Shoot.Editor.csproj
Target_Shoot.Editor.csproj.user
Target_Shoot.Player.csproj
Target_Shoot.Player.csproj.user
Target_Shoot.sln
Do not delete anything else.
Double click on the script again from Unity which should generate new Visual Studio file then open Visual Studio. This may solve your problem.
Fix Part 6:
If not working, check if you are having this error:
The "GetReferenceNearestTargetFrameworkTask" task was not found
Install Nuget PackageManager from here.
Restart Visual Studio.
See this answer for more information.
Fix Part 7
Make sure all of the projects are loaded.
In Solution Explorer it should tell you # of # projects.
If all of the projects are not showing, right click on "Solution (# of # projects)" and click Load Projects.
Try this,
In Unity Editor Go to Menu, Click on Edit -> Preferences -> External Tools -> External Script Editor. Set it to Visual Studio (your installed version of VS).
Now in Menubar go to Edit -> Project Settings -> Player Settings -> Other Settings -> Under Configuration -> Check API Compatibility Level -> Change it to your installed .Net version. In my case I set it to .Net 4.x
Now if Visual Studio is running already go to Visual Studio, it will ask to reload project. Reload the project. Check if it works, if not close Visual Studio. Now Open cs file from Unity Editor, and now it should work.
I found another way to fix this issue in a more convenient manner:
Select the broken file in Solution Explorer.
Open its Properties.
Switch field "Build Action" from "Compile" to "None".
Then switch it back to "Compile".
This will kill the synchronization between Unity and Visual Studio somehow.
The next time Visual Studio will reload the project, it will prompt a warning.
Just click on "Discard".
If you have done all of the above and still isn't working , just try this:
Note: you should have updated VS.
Goto Unity > edit> preference >External tools> external script editor.
Somehow for me I had not selected "visual studio" for external script editor and it was not working. As soon as i selected this and doubled clicked on c# file from unity it started working.
I hope it helps you too.
Unload and reload the project, in Visual Studio:
right click your project in Solution Explorer
select Unload Project
select Reload Project
Fixed!
I found this solution to work the best (easiest), having run into the problem multiple times.
Source: https://alexdunn.org/2017/04/26/xamarin-tips-fixing-the-highlighting-drop-in-your-xamarin-android-projects/
This page helped me fix the issue.
Fix for Unity disconnected from Visual Studio
In the Unity Editor, select the Edit > Preferences menu.
Select the External Tools tab on the left.
For External Script Editor, Choose the Visual Studio version you have.
Click regenerate Files
You Done
Select project in Visual Studio
Click "Refresh" button
I hit the same issues today using Visual Studio 2017 15.4.5 with Unity 2017.
I was able to fix the issue by right clicking on the project in Visual Studio and changing the target framework from 3.5 to 4.5.
Hope this helps anyone else in a similar scenario.
Two Alternative Options:
Fix 1
#singleton pointed me in this direction. Instead of changing the target in Visual Studio you should change it in Unity since the project is auto-generated.
First delete the auto generated Visual Studio files:
.csproj
.user
.sln
Then from within Unity go to PlayerSettings and under 'Other Settings' change the 'Scripting Runtime Version' from Stable 3.5 to Experimental 4.6.
However, that didn't fix it for me.
Fix 2
I noticed all of the references to Unity related code was marked with a yellow warning. Check your error logs and see if this is the case. In particular see if you get the following error: getreferenceNearestTargetframeworkTask
If so try:
Start Visual Studio Installer again.
On the Build Tools 2017, click Modify,
Ensure that "Nuget targets and build tasks" are ticked. This should become ticked if you click on Universal Windows Platform development.
Update 2020 with Visual Studio Community 2019 and Unity 2019.3:
Open Visual Studio Installer as Administrator, select to modify your current installation and add "Game development for Unity"
If you add a new c# script in Unity now, and open it (automatically) with Visual Studio, it is not described as "Miscellaneous" at the top of the window but with "Assembly-CSharp", and the autocomplete works.
i found my solution by creating the .cs file from visual studio itself instead of unity editor
right click on project folder in solution explorer
add > new item
type "unity" on the search field on the top right
select "CSharp MonoBehaviour"
name your script on the bottom and click Add
In my case, correct .net version was not installed on my PC. I install the .net 3.5 on my pc and that worked for me.
For Windows or macOS:
Download/Install the Visual Studio IDE (with Unity Tools)
When installing, make sure you include installation of
Game development with Unity
Then using Unity (you can double click one of your C# files), open a new C# project and the Visual Studio IDE should open with your new project structure.
From there, you should be able to see what you are looking for.
For example:
For Linux (suggestion):
Try Monodevelop - Additional Information, it provides code completion/hints.
My autocomplete also didn't work because Visual Studio Tools for Unity wasn't installed. So, after you install that, delete the auto generated Visual Studio files. Others said that you open file again and the problem is solved but it's not.
The trick is: instead of normally double-clicking the file, you need to open the C# file from Unity by right click and then "Open C# Project".
The issue I faced was that the C# Project was targeting a different .NET Framework (4.7.2), whereas the Unity project had a different target (.NET 3.5).
I fixed this by changing the target in Unity as-
File -> Build Settings -> Player Settings -> Other Settings -> API
Compatibility Level : Set it to the .NET version you already have
installed (Check your .NET Version here). In my case, it was 4.x
After this, Visual Studio worked perfectly and autocorrect was fixed too.
Try pressing Ctrl + Alt + Space (which toggles between suggestion and standard completion modes)
For some odd reason, the "Game development with Unity" tool can become disabled in Visual Studio.
To fix this..
Open Visual Studio
Go to Extensions → "Manage Extensions" → Installed
Find "Visual Studio 2019 Tools for Unity"
If it is disabled, enable it
Restart VS
Credit to Yuli Levtov's answer on another Thread
The following works for me.
Go to Edit->Preferences->External Tools->External Script Editor Select Scripting Editor
I solved to install the same version of .NET on WIN that was configured in my Unity project. (Player Settings)
Go to Options on the Tools menu and then select Documents in the Environment node. (If Documents does not appear in the list, select Show all settings in the Options dialog box.)
Put a tick on "Miscellaneous files in Solution Explorer" and Click OK. (This option displays the "Miscellaneous Files" node in Solution Explorer. Miscellaneous files are files that are not associated with a project or solution but can appear in Solution Explorer for your convenience if you tick this option.)
Locate your file in the Solution Explorer under "Miscellaneous Files". Then drag and drop your file to where it should belong and voila! This will copy the file to where you drop it. You may now safely delete the older file under Miscellaneous Files folder if you wish to do so
Credits: https://stackoverflow.com/a/47662523/10471480
In case Scripts folder is not visible:
Click on "Show all files" in Solution Explorer
Locate the Scripts folder.
Right Click on Scripts and select "Include in Project"
Keep in mind that if you are using the ReSharper tool, it will override the IntelliSense and show it's own. To change that, on VS, go to Extensions -> ReSharper -> Options -> IntelliSense -> General then choose Visual Studio and not ReSharper.
Before restarting and/or re-installing VS, First try opening any other of your projects to see if Intellisence works, if it does, then issue probably lies with your current project. First, most probable victim would be the NUGET packages with pending updates. To Fix this,
Right click on references
Proceed to Manage NUGET Packages Under NUGET Packages
proceed to updates Install Updates and recheck Intellisence
I tried all of these but ended up finding out that I needed to right-click the solution in Solution Explorer and add existing items and find the C# assembly file in Window's Explorer. There seem to be a bazillion different problems that give you this error, this is likely the most simple solution. If you double click on your script from unity, it does not seem to drag the assembly along.
Another possible fix:
In the project window, click on the Assets folder
Right click, and Create -> C# Script
Double click that, and wait.
For some reason, this work.
None of the above solutions worked for me. However I opened the ProjectName.CSPROJ file and manually added the new file and it worked like charm
What worked me is that I copied all the code inside the broken class and removed that file.
Then, I opened an empty file with the same name and pasted back.
Result: beautiful syntax highlights came back!
"Preferences" -> "External tools" -> set you exteranl tool
Thats one fix. Also for VS you can use ReSharper by JetBrains, but I recommend use Rider. That one is also free for students.
It provides less performance than visual studio, but more than VS+Resharper definitely.
Have a good day, mate)
Try with combination: Ctrl + Alt + Space
one of the above methods are worked for me and I just found a solution to this problem,
1. First, go to the project directory and delete .sln file
2. Second, go to unity and double click your script. Then Visual Studio will be open with an error,
Then click ok and close Visual Studio editor.
Finally, turn off your Windows Defender and then go to your project directory and there will be .csproj file. Just double click and open this from your Visual Studio editor and open the scripts folder inside the assets folder and open the scripts and autocompletion will be working perfectly fine.
These actions solved the problem for my projects in Visual Studio 2022
FIX 1
Solution
Assembly-CSharp (right-click)
Load Entire Dependency Tree
FIX 2
Solution
Assembly-CSharp
References
Double click on any lib to force loading

how to make sure that exported Eclipse RCP application works in MAC.

1) created simple hello world eclipse app.
2) product configuration created.
3)In overview tab of product Configuration clicked on "Eclipse Product Export Wizard"
4)Destination chosen as Archive file and stored in local system.
5)extracted the zip folder and if i click on icon it is successfully showing the exported result.
6)But if I copy the zip folder in mac and if i extract and try to click on the .exe it is not showing the proper result instead it was showing Archive window.
I would like to know what steps should follow so that exported Eclipse RCP application(which built on windows) works in mac.
quicker response would help me to fix my issue.thanks in advance.
RCP builds are specific to a single operating system (Mac, Linux, Windows), GUI system (Cocoa, GTK, Windows) and architecture (64 bit, 32 bit). You will have to build separate Mac and Windows builds.
To build for multiple platforms you have to set up a target platform which includes the Mac specific code (and any other platforms you want). Using a target platform based on one of the Eclipse software sites will give you this.
Once you have done this the Export wizard will let you export for multiple platforms and lets you choose which platforms to export for.
I have done below steps to solve this issue
1)window+preference+TargetPlatform+select running platform +click on Edit.
2)then popup will open + click on add +click on istallation/software site+provide delta pack path.
3)so that when ever we trying to export RCP product from "Export product configuration" in product file we can observer the multiple platforms oprion in that dialog box.

How to force eclipse to use the SceneBuilder executable file? Mac os x

I'm trying to get SceneBuilder to work with Eclipse v4.4.2 on Mac OS X. I'm following the advice from this tutorial: http://code.makery.ch/library/javafx-8-tutorial/part1/. I downloaded the Mac OS .dmg version of the SceneBuilder app from here: http://gluonhq.com/products/downloads/. It works when I run it as a stand alone.
When I try to configure Eclipse to use the app as part of the e(fx)eclipse package, Eclipse seems to be configured to look for the file Contents/MacOs/scenebuilder-launcher.sh in the application package contents. The version of the app I have doesn't have it, instead it just has the executable Contents/MacOs/SceneBuilder.
Failure to launch SceneBuilder [...] Cannot run program "/Applications/SceneBuilder.app/Contents/MacOs/scenebuilder-launcher.sh". No such file or directory.
Does anyone know which version of SceneBuilder I should be using (and where I can get it), or is there a hacky solution to sort this?
Just playing around with the SceneBuilder standalone it seems like it's a big step up from WindowBuilder, shame that just finding a packaged/compiled version of it has been so difficult!
The answer provided by ItachiUchiha is not the full solution with the new binaries provided by Gluon. Obviously they have forgotten to package the file Contents/MacOs/scenebuilder-launcher.sh with the new binaries. It is however sufficient to just copy over this file from an old version of SceneBuilder to make the launch from within Eclipse work.
Hi guys my solution is not clean by the way I use:
On OSX :
$cd /Applications/SceneBuilder.app/Contents/MacOS/
$ln -s SceneBuilder scenebuilder-launcher.sh
And for that works.
On a Mac:
I just installed sceneBuilder 8.3.
After setting up Eclipse with the proper SceneBuilder executable (in the Applications folder)
I had the same problem.
Failure to launch SceneBuilder [...] Cannot run program "/Applications/SceneBuilder.app/Contents/MacOs/scenebuilder-launcher.sh". No such file or directory.Error=2
Then in Eclipse I went to the
Help Menu, Check for Updates and Installed
all of the latest updates offered.
When I was asked if OK to Re-Start Eclipse I clicked OK.
After Eclipse restart
I Right Clicked on a Main.fxml and selected
Open with SceneBuilder.
It worked perfectly.
Best of Luck to you all
You can change the path in
Eclipse -> Preference -> JavaFX -> SceneBuilder Executable
I had this same issue on my mac following the code.makery tutorial but discovered you can still use the official JavaFX Scene Builder 2.0 download from oracle.com available at JavaFX Scene Builder 2.0.
After downloading and installing (by double-clicking on the downloaded .dmg file and dragging to the application folder), simply navigate to Eclipse>preferences>JavaFX and then browse to your Applications folder and select the JavaFX Scene Builder app you just installed. Worked and is still working for me!
I downloaded the older version of scene builder from oracle site. Copied the scenebuilder-launcher.sh from the fresh installation directory to the Glueon scenebuilder directory. And this fixed the issue.
My solution on Mac OSX was gleaned from the bug report at https://github.com/gluonhq/scenebuilder/issues/2. Apparently newer versions of Scene Builder (not including version 2 and before) are missing the scenebuilder-launcher.sh file. To make this all work, do the following.
Install a new version of Scene Builder from Gluon (not Oracle). I used https://gluonhq.com/products/scene-builder/. Install AND OPEN Scene Builder. For this to work, it is important to actually open Scene Builder before attempting to use it in Eclipse. If you don't, the first invocation under Eclipse will attempt to pop up a the normal OSX security message which, of course, it can't do because it is being invoked from a shell script. This only happens on first invocation, so the next time you won't have the problem. You get a message to the effect that the application is damaged. You will also get this message if you install a new version. Just invoke the Scene Builder application standalone before continuing to use it with Eclipse.
open a terminal session (sorry I don't know of another way to do this otherwise as you need to make the file you create executable)
cd /Applications/SceneBuilder.app/Contents/MacOS
sudo vi scenebuilder.sh (or use your favorite editor other than vi)
cut-and-paste the file from the Gluon issue into your editor and save it.
sudo chmod +x scenebuilder.sh
open Eclipse and open Preferences > General > Editors > File Associations (or type file in the filter box and select File Associations.
scroll down to .fxml in the file type box and select it. If you don't see it, click add to the right of the file types list. Enter .fxml and click OK.
in the associations pane, click Add to the right of the associations pane and click the Internal radio button. Scroll down to Scene Builder and select it. Click OK, the Apply and Close.
You should now be able to right-click on an .fxml file and click Open with Scene Builder and Scene Builder should start with the fxml file open in the builder.

How can I set an icon to the window of a JavaFX application?

I made a JavaFX application on Netbeans and I put this code for setting the icon to the window
primaryStage.getIcons().add(new Image("file:sicadcam.png"));
and when I run the project from Netbeans, it works ok: the icon appears on the top left corner of the window and in the taskbar. The image is in the root directory of the project.
When I clean and build the project, it generates two installers: one exe and one msi; and when I install the application and open it, the window doesn't have the icon sicadcam.png, it has the default java logo icon.
How or where can I set the path of the image so that when I install the application the icon appears.
This is only a partial answer to the question as I have been unable to generate a self-contained package which shows the icon for the installed application in the Windows taskbar. I may have missed a step, have an environmental issue or the icon configuration for self-contained applications may be slightly buggy and may be fixed in later releases. Testing was on: jdk7u21, NetBeans 7.3, Win7, InnoSetup.
Get the icon image from a resource rather than a file.
For example, if you place the image in the source directory of your application class:
new Image(MyApplication.class.getResource("sicadcam.png").toExternalForm());
For an installed application, this will only set the icon displayed in the top left corner of the screen. To set the icon for the taskbar, desktop etc, following the instructions in the Self-Contained Packaging section of the JavaFX Deployment Guide is supposed to get you there.
For example to get an icon for the installer on my Windows 7 for my self-contained application, I needed to place the icon in a <netbeansprojectdir>/package/windows/<myappname>.ico (needs to be a .ico for the installer packager to pick it up) file AND ensure my ant path was configured correctly as detailed in How to change JavaFx native Bundle exe icon (hopefully that manual ant configuration won't be required in later NetBeans/JavaFX releases).
Download the Ensemble sample application from Oracle and see how the package directory is laid out there for platform specific icons. Unfortunately when I tried building Ensemble from the command line, I was also unable to get Windows 7 to use the Ensemble icon in the taskbar when Ensemble was installed and executed as a self-contained application.
Ensure your build system copies your icon into the jar file containing your application. To check this, change into the app directory of your installed application and run jar tvf <yourappjar>.jar => it should show the location of the icon resource file in the jar.
you can it by using getClass().getResourceAsStream("path.png")
the getResourceAsStream("path") is return an input stram for path of any file you are need it for example for icon
win.getIcons().add(new Image(getClass().getResourceAsStream("path.png")));
and if you are makking an jar file is run with out Exception