Skip to content
⌘ NSIS Forum Archive

EclipseNSIS

207 posts

o_owd#
i downloaded (again) eclipse, downloaded GEF and eclipsensis from updates (as you said).
the log does not contain any errors.
runned eclipse from console with specified parameter and nothing appears in the cosole.
i hit the compile/compile and run buttons and nothing happens.

i really do not understand.

thanks,
OJi.
iceman_k#
Does Eclipse hang or is it just the button going gray?
Also, could you check via task manager whether the MakeNSIS process has been started?
If you get Process Explorer, you can get the exact command line used to execute MakeNSIS.
Next, check whether a hidden window of window class "Hidden EclipseNSIS Window" has been created. You can check this using Microsoft Visual Studio Spy++ or WinSpy++ .
What is the full path name of your Eclipse installation and what is the full path name of your script file?
Did you install the standard NSIS 2.09 distribution or some other one?
Did you accept the default installation type or did you change something in it? (I mean the installation types you see when you run the NSIS 2.09 installer).
I, too, really don't understand what is going on... hundreds of people have downloaded the plugin and not reported a problem like this.
o_owd#
ok. here i go...

eclipse does not hang, but the compile button (after i press it) becomes grey and remains grey. if i minimize/restore eclipse it is enabled again.
in process explorer - only once makensis appeared. the first time i opened a script after installed eclipsensis. is was there only for a second. after that - nothing. the nsis installation is detected because if i change the path (in eclipsensis configuration), i get an error message.
in winspy - yes, there is a hidden window of window class "Hidden EclipseNSIS Window". what should i do with it ? 🙂

full path of eclipse "c:\program files\eclipse". also tried "C:\eclipse"
full path to my script - not relevant. i tried from root dir and does not work.

nsis - standard version and standard install.

thanks for all the patience.
OJi.
iceman_k#
The brief run of MakeNSIS means that EclipseNSIS is verifying the compiler version.
The fact that the button is reactivated when you minimize and maximize Eclipse means that MakeNSIS has been run successfully. Something seems to be going wrong while processing its results.
The hidden window is used by MakeNSIS to communicate with EclipseNSIS. If it is being created, try manually compiling the script using MakeNSIS and pass the /NOTIFYHWND HWND argument where HWND is the handle number of the hidden window in decimal format and see if the script compiles OK.
Does the EclipseNSIS console view display?
If not, can you open it using the views menu and see if any output is shown in it?
I'm sorry but I really don't understand what could be going wrong.
Are there any special permissions involved- e.g., are you not an admin on the computer.
Does this problem occur with every script or just one script?
If it is just one script can you PM it to me?
deguix#edited
I have the same problem.

If you compile an independent script without opening a NSIS script from the workspace, the script won't compile. At this time, the "EclipseNSIS Console" window doesn't open. It also doesn't output anything, neither if you have the window open or closed.

After the first time you open a NSIS script from the workspace, any NSIS script can be compiled normally, including independent NSIS scripts...

If you close all documents, and open an independent NSIS script, then the same problem happens again.

EDIT: The "Code Folding" feature doesn't work as well. It only works for scripts in the workspace.
o_owd#
yes, thank you. this was the problem. reproduced.
all i had to do was to create a "new project" in my working folder. it works fine now.

thanks for all the help.

OJi.
iceman_k#
Ah, that explains it.

This is not an EclipseNSIS bug. Eclipse does not provide access to all the cool editing features (folding, problem markers, etc.) for files which are not in an Eclipse project. Hence you will not see these features available when you open an external file in Eclipse. (It is the same for any Eclipse editor- check out the Java editor).

Similarly, EclipseNSIS reads and writes certain attributes in a file which is compiled or edited using EclipseNSIS. However, because of the limitations of Eclipse, these attributes can only be set for files which are part of an Eclipse project. Hence, the normal compile and test functions of EclipseNSIS will not work for an external file. The file HAS to be part of an Eclipse project for EclipseNSIS to function properly.

I am surprised that you are able to compile an external (independent) NSIS script since EclipseNSIS does not support this- it will not compile a file which is not in the Eclipse workspace- the currently released code simply will NOT do it.

The next version of EclipseNSIS may support this- however you still will not get code folding or problem markers, etc.- Eclipse just doesn't provide these features for external files (I would have to rewrite most of the Eclipse editor from scratch- which is just not worth the time since it is much easier for the user to just create a new project).
Guest#
Hi,
I cannot fold/unfold using keyboard i.e. ctrl numpad+ - *
(These are defined as expand/collapse key shortcuts in General prefs page).
I see fold marks but they respond to mouse only.
Am I missing sth here?
thanks
iceman_k#
EclipseNSIS 0.9.3 and EclipseNSIS InstallOptions Editor 0.9.3 are both available for download now.
See the EclipseNSIS home page for details.

Changes:

EclipseNSIS
  • External files are now supported- including compiling, testing, code folding and annotations.
  • Compilation properties can now also be set at the project or folder levels.
  • Bug fixes:
    o 1295438
  • Other minor bug fixes.


EclipseNSIS InstallOptions Editor
  • Added support for Unknown control in design editor.
  • Added distribution, locking actions to design editor.
  • Added preview support in both source and design editors.
  • Improved RTL support on Windows 2000 and better.
  • Fixed Z-ordering of controls.
  • External files are now supported- including code folding and annotations.
  • Bug fixes:
    o 1274588
  • Other minor bug fixes.


Notes:
I was mistaken when I earlier said that Eclipse does not support annotations and folding for external files. While it is true that Eclipse does not support these features by default, it does provide the tools to build support for them. The result- most of the functionality for both EclipseNSIS and InstallOptions editor is avaialable for both external as well as internal (workspace) files. What is not available (obviously) is storing and retrieving custom compilation options for external files. This is only available for workspace files. External files will use the global compilation options set using the EclipseNSIS Preferences page.

As always, I am looking for any and all bugs you may find. These may be entered in the EclipseNSIS project SourceForge Bug tracker. Feature requests may also be entered.
Guest#
Hi,
I have several .nsh files !include'd, and happened to press Alt-C while editing one of them. Naturally the build failed and an error line popped up in Problems View.
And it's stuck, it does not go away, even if I compile the main .nsi successfully. How do I get rid of such dangling entries in Problems View? Is this view not cleared before every compile?
Jamyn#
edit: now that I've spent a few more minutes thinking about it, there are plenty of situations where you would want the EclipseNSIS script generator to create an uninstall section, even for sections that are purely function-based. And I think it would take many thousands of more minutes to code logic for this issue than it would to just manually edit the generated template... and that time could better be spent on pretty much anything else that would be much more worthwhile. So I withdraw my post.

I'd also like to add a huge thank you to all that are involved in the eclipseNSIS project, as well as everyone who has spent any time working on and improving NSIS, the WIKI, the documentation, the examples, the included contributions, etc. It is very much appreciated by many, including myself.

One thing I noticed was that (maybe I'm wrong) when building a new install file from a template, EclipseNSIS does not allow me to create a section that does not install any files. By this I mean, I have a section or two that just does file manipulations. Download updates, perform version checks, etc etc etc. But I have to insert a dummy file for each section so that EclipseNSIS lets me continue with the template.

Optimally, I'd prefer to somehow mark that section as "performs function operations", so I didn't have to tell it to install the dummy file. That, and if a section only performed functions, to not have it generate an uninstaller section for those particular sections.

It's very a minor thing, but I thought I'd bring it up anyway.
iceman_k#
guest1928:
Unfortunately there is no easy way to clear the markers from your nsh file. What you can do is clear all the markers for the project it belongs to. To do this, navigate to:
<Workspace>\.metadata\.plugins\org.eclipse.core.resources\.projects\<your project> and delete the .markers file.
The next release will be fixed so that compile/test menus and shortcuts will ONLY be enabled for nsi files- not nsh files.

Jamyn:
I understand what you are saying- however, creating sections which are not going to actually install something are beyond the scope of the Wizard- and frankly it would be kind of pointless as well. All you would really gain is avoiding having to type two lines ("Section" and "SectionEnd"). You should use the wizard to generate the base script and then customize it with all the bells and whistles you need.
Perhaps you could use the code templates to be able to quickly insert sections instead?
Also, thanks for the kind words. EclipseNSIS is something I created as much for myself as for the Eclipse/NSIS community. it was a personal itch I just had to scratch :-).
Comm@nder21#
i noticed that EclipseNSIS isnt recognizing my self built MakeNSIS.exe (built with visualstudio toolkit and platformsdk from cvs source - 8th oct. 05).
it wants me to choose an other path ...
Joost Verburg#
I upgraded to the latest EclipseNSIS, but it also fails to detect a plain nightly build of NSIS and displays that NSIS 2.0 or later is required.
Comm@nder21#
this is exactly what i mean, joost.
i think, the version detection of eclipse nsis can't handle the cvs version string.
iceman_k#
Do you have EclipseNSIS 0.9.3 installed?
I also use the CVS build version and it is recognized without a problem.
How does your CVS build report its version?
Mine says v07-Oct-2005.cvs
iceman_k#
I just downloaded the latest nightly build and tried that as well. This also works.
Support for non-release builds (i.e., CVS builds and nightly builds) was added in EclipseNSIS 0.9.1 and I have tested it on Windows XP, Windows 2000, Windows NT, Windows ME and Windows 98 without any problems.
What do you get when you type makensis /version?
Joost Verburg#
If I just download a nighly build (makensis /version works as expected) and try to set it as NSIS Home it shows me 'Invalid NSIS Home, MakeNSIS 2.0 required'. This is a new issue after upgrading to EclipseNSIS 0.9.3. Version 0.9.2 worked fine.
iceman_k#
Strange. There is no significant difference in the version validation code between 0.9.3 and 0.9.2.
Can you check in the .log file if any error is being recorded?
If not, I may create a special debug build for you to use (and generate a log).
[edit]Has anything else changed on your end? Java VM, MakeNSIS path, MakeNSIS exe name, etc.?[/edit]
kichik#
The log file is also available from the menus at Window > Show View > Error Log. No need to dig into your workspace.

iceman_k, I usually add this view as a fast view to my perspective, especially in development versions. It's very unobtrusive, but still very useful.
iceman_k#
I keep it docked with my other views. You can also configure the view to automatically activate upon new entries- also a useful feature.
The problem with this view, however, is that if your log has been rotated, you may miss some information. So while I use it, I prefer to dig into my workspace .metadata on occasion.
kichik#
I was actually talking about the perspective you define for EclipseNSIS in plugin.xml, though in this case you'd need a perspectiveExtension. It's easier to get the information from the users this way.
iceman_k#
Since you are monitoring this thread, are you seeing the same issue as Joost & Comm@nder21? Specifically- EclipseNSIS 0.9.3 does not accept CVS builds for the NSIS home.
Like I said, I have tried it on several OS's without a problem. The only possible thing I can think of is that it has something to do with the localization settings on the user's PC- though I feel that I have accounted for that as well.
Perhaps I will create a fragment build which logs the actions performed during version validation and distribute via this forum. The other option is remote debugging- but the performance on that is poor even with 2 computers right next to each other in the network- let alone on different continents!
kichik#
I'm only monitoring this thread because it's interesting. I don't have enough free space to install Java 🙂
iceman_k#
OK. 🙂
Then is anyone else out there experiencing this problem with EclipseNSIS 0.9.3?
Anyone in North America?
(Maybe it's a European thing).
Comm@nder21#
the error log gives the following (interesting) information:
java.text.ParseException: Unparseable date: "07-Oct-2005"
at java.text.DateFormat.parse(Unknown Source)
at net.sf.eclipsensis.util.NSISValidator.getNSISVersion(NSISValidator.java:132)
at net.sf.eclipsensis.util.NSISValidator.findNSISExe(NSISValidator.java:68)
at net.sf.eclipsensis.util.NSISValidator.validateNSISHome(NSISValidator.java:108)
at net.sf.eclipsensis.dialogs.NSISPreferencePage$4.widgetSelected(NSISPreferencePage.java:167)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3080)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2713)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:809)
at org.eclipse.jface.window.Window.open(Window.java:787)
at net.sf.eclipsensis.dialogs.NSISPreferencePage.show(NSISPreferencePage.java:54)
at net.sf.eclipsensis.actions.NSISPreferencesAction.run(NSISPreferencesAction.java:23)
at org.eclipse.ui.actions.ActionDelegate.runWithEvent(ActionDelegate.java:70)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:236)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:538)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:400)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3080)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2713)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
at org.eclipse.core.launcher.Main.run(Main.java:973)
at org.eclipse.core.launcher.Main.main(Main.java:948)
i think this should give you an idea how to fix it 🙂
iceman_k#edited
OK, I was able to reproduce this problem. As I suspected, it was because of a localization issue. I will issue a patch fragment which will fix this problem.
What mystifies me is that this apparently worked in 0.9.1 and 0.9.2- even though the validation code has essentially not changed (the only difference was to log errors to the log file instead of the console).
Update: When Scons builds MakeNSIS.exe, it sets the version thus:

cvs_version = strftime('%d-%b-%Y.cvs', gmtime())
i.e., it uses the localized version of the month name. However, if you download the nightly build from the NSIS web site, the month name is in english- which may not match your locale. This causes the EclipseNSIS date parsing to fail- since it expects a localized version number.
Hence, I will modify the code to account for english as well as localized version numbers. In the meantime, if you rebuild MakeNSIS.exe on your local PC, EclipseNSIS should accept it.