The error you are seeing are related to setup.dll not being in the expected location on the build box.
Yes it probably is something related to that. Both the vb.net 2010 and C# 2010 versions are recent downloads (vb.net a few months back, C# yesterday) on a new Win8 machine.
I'll check the .net frameworks when I get home. Thanks++ for the advice - I think you are onto the right track here.
Console projects in VS 2010 target .NET Framework 4 Client Profile by default. The Client Profile is a subset of the .NET framework. It makes a deployment package smaller than targeting the entire .NET 4 framework. Reference error pop up if your project references libraries that reference objects not included in the Client scheme. I would need a copy of your project to verify but if you never referenced a library in your console app, this is not the problem.
I don't have Win 8 but a little research relieved Win 8 comes with .NET 4.5. .NET 4.5 no longer uses the client profile scheme. If your project targets the client profile change it to .NET 4.5 on the Win 8 box.
It's not a language thing. There are many languages out there. There is no single language to solve all problems.
However. I have a plan....
The single most easiest way to make a cross platform GUI now adays is in your WEB browser. No matter if you are Windows or Mac or Linux using Chrome or Firefox or IE the same GUI can work.
All that it needs is a little "glue" connecting the serial port to your Propeller to your web page.
That we will do with JavaScript running under Node.js.
If nobody beats me to it I hope to show a demo soon....
The beagle bone has a version of Angstrom that uses the Cloud9 IDE for programing via a web interface using java. https://c9.io/
adafruit has something similar to cloud9 but I can't seem to find right now.
-dan
Console projects in VS 2010 target .NET Framework 4 Client Profile by default. The Client Profile is a subset of the .NET framework. It makes a deployment package smaller than targeting the entire .NET 4 framework. Reference error pop up if your project references libraries that reference objects not included in the Client scheme. I would need a copy of your project to verify but if you never referenced a library in your console app, this is not the problem.
I don't have Win 8 but a little research relieved Win 8 comes with .NET 4.5. .NET 4.5 no longer uses the client profile scheme. If your project targets the client profile change it to .NET 4.5 on the Win 8 box.
That might be it.
The 'program' is about as simple as it gets (same error for C# and vb.net)
In C# it is the default text
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
}
}
}
and in vb.net, similarly by reducing the program to the bare minimum
Module Module1
Sub Main()
End Sub
End Module
Lots of ideas to try out when I get home. Thanks++
Don't think this is a Win-8 problem only, I suffer exactly the same issues here with Win-7.
First time I published my application I solved the problem but cant remember how. Now I have the same problem again and can't seem to find a way to solve it.
@Mike G, I think the .net framework is worth pursuing and a likely cause of this problem.
Ok, the frameworks I have in Win8 are 1,1.1,2,3.5 and 4.03. I'm not sure exactly how the framework works - does it run the most recent one, or is each framework paired with the program that installed it?
As for which one vb.net and c# target, can you go through that one again. right click project/properties/application brings up a screen but nothing about which vb.net version. I can post a screenshot if you like.
Addit - found the .net version in project/properties/application/compile/advanced compiler settings
There are three options - .net framework 4, .net framework 4 client profile, and install other frameworks. I am running .net framework 4 client profile.
c# is in a different menu. project/properties/application and again it is .net framework 4 client profile.
I tried changing to .net framework 4 but no change in the error when trying to publish.
Today I installed VB.NET 2010 Express on my office PC at work. This is an XP, service pack 3-computer.
Then I moved the whole folder including all the files belonging to my VB-project, the project that could not be build on my private Win7 laptop, -moved them from my private PC to the PC at work.
Then I opened the application on this Win XP computer, made a check if it was without any errors, and then tried to publish.
No error messages, no asking for any setup.bin in Engine folder. No problems at all.
Ok, the frameworks I have in Win8 are 1,1.1,2,3.5 and 4.03. I'm not sure exactly how the framework works - does it run the most recent one, or is each framework paired with the program that installed it?
.Net frameworks are like libraries. Your program targets a library or framework. Newer .NET frameworks can usually target an older framework but an older framework cannot target a newer framework. This can causes DLL reference problems. The common thread is the compiler complains that it cannot find a dll or load a dll.
In your case, I believe, the compiler can't find the bootstrapper. Either the libraries do not exist, the libraries are not in the location expected by the compiler, or the environment variables are not expected.
The bootstrapper gets loaded with the Windows SDK and I thought Visual Studio. The files are located, C:\Program Files\Microsoft SDKs\Windows and/or C:\Program Files(x86)\Microsoft SDKs\Windows and contain the file required to create an install package. I believe if the bootstrapper dlls are not found the compiler looks at the current running directory.
Microsoft wraps functionality in black boxes. It's great when everything works as expected. When something goes unexpected it is a pain to figure out what's wrong. You can find publish configuration in the project properties.
Thanks Mike G, I'll give that a go when I get home.
My motivation for a command line program is because under a GUI program in vb.net, the shell function does not appear to pass enough processing time to the program that is being shelled. Judicious use of .doevents only partially solves the problem. I had an idea that a command line program would be closer to the metal and hence faster, but I wasn't anticipating the immense complexity this would cause in .net. Maybe I'll just use .net for complex programs like writing an IDE and use a different program for simpler code?
Just now I've taken a completely different approach. Start with a new program FreeBasic http://www.freebasic.net/about/gettingstarted Download and installation less than a minute Write a simple program in Notepad and compile it. Tested opening and closing files ok, testing extracting command line paramters with command$, and I am pretty sure that the serial ports are only a few lines of code.
I think this might be the equivalent of TinyC - perfect for those quick and simple command line programs
I wish we could get you off BASIC and onto Python or some other modern language (even Perl). Especially for command line apps.
a) There is an ocean of users of these languages on the net who could help.
b) There is an ocean tutorials, examples etc to pick from.
c) A lot of what you are struggling with are long solved problems. Shelling out to a sub process easy.
d) The results of you labors would perhaps be useful to a wider audience, all those Mac and Unix guys, Users can be helpers as well.
My current favorite is JavaScript where shelling out to a command is as simple as:
// Include required modules.
var sys = require('sys')
var exec = require('child_process').exec;
// Defin a function to print commmand output
function puts(error, stdout, stderr)
{
sys.puts(stdout)
}
// Shell out to our sub process.
exec("myCommand para1 param2", puts);
Comments
What .NET frameworks are installed?
http://support.microsoft.com/kb/318785
or just look at the install locations
%WINDIR%\Microsoft.NET\Framework
%WINDIR%\Microsoft.NET\Framework64
Yes it is the "Publish" part that isn't working.
Yes it probably is something related to that. Both the vb.net 2010 and C# 2010 versions are recent downloads (vb.net a few months back, C# yesterday) on a new Win8 machine.
I'll check the .net frameworks when I get home. Thanks++ for the advice - I think you are onto the right track here.
I don't have Win 8 but a little research relieved Win 8 comes with .NET 4.5. .NET 4.5 no longer uses the client profile scheme. If your project targets the client profile change it to .NET 4.5 on the Win 8 box.
The beagle bone has a version of Angstrom that uses the Cloud9 IDE for programing via a web interface using java.
https://c9.io/
adafruit has something similar to cloud9 but I can't seem to find right now.
-dan
That might be it.
The 'program' is about as simple as it gets (same error for C# and vb.net)
In C# it is the default text
and in vb.net, similarly by reducing the program to the bare minimum
Lots of ideas to try out when I get home. Thanks++
First time I published my application I solved the problem but cant remember how. Now I have the same problem again and can't seem to find a way to solve it.
Ok, the frameworks I have in Win8 are 1,1.1,2,3.5 and 4.03. I'm not sure exactly how the framework works - does it run the most recent one, or is each framework paired with the program that installed it?
As for which one vb.net and c# target, can you go through that one again. right click project/properties/application brings up a screen but nothing about which vb.net version. I can post a screenshot if you like.
Addit - found the .net version in project/properties/application/compile/advanced compiler settings
There are three options - .net framework 4, .net framework 4 client profile, and install other frameworks. I am running .net framework 4 client profile.
c# is in a different menu. project/properties/application and again it is .net framework 4 client profile.
I tried changing to .net framework 4 but no change in the error when trying to publish.
Reading through an interesting discussion here http://go4answers.webhost4life.com/Example/error-version-net-framework-launch-17659.aspx
Then I moved the whole folder including all the files belonging to my VB-project, the project that could not be build on my private Win7 laptop, -moved them from my private PC to the PC at work.
Then I opened the application on this Win XP computer, made a check if it was without any errors, and then tried to publish.
No error messages, no asking for any setup.bin in Engine folder. No problems at all.
In your case, I believe, the compiler can't find the bootstrapper. Either the libraries do not exist, the libraries are not in the location expected by the compiler, or the environment variables are not expected.
The bootstrapper gets loaded with the Windows SDK and I thought Visual Studio. The files are located, C:\Program Files\Microsoft SDKs\Windows and/or C:\Program Files(x86)\Microsoft SDKs\Windows and contain the file required to create an install package. I believe if the bootstrapper dlls are not found the compiler looks at the current running directory.
Microsoft wraps functionality in black boxes. It's great when everything works as expected. When something goes unexpected it is a pain to figure out what's wrong. You can find publish configuration in the project properties.
My motivation for a command line program is because under a GUI program in vb.net, the shell function does not appear to pass enough processing time to the program that is being shelled. Judicious use of .doevents only partially solves the problem. I had an idea that a command line program would be closer to the metal and hence faster, but I wasn't anticipating the immense complexity this would cause in .net. Maybe I'll just use .net for complex programs like writing an IDE and use a different program for simpler code?
Just now I've taken a completely different approach. Start with a new program FreeBasic http://www.freebasic.net/about/gettingstarted Download and installation less than a minute Write a simple program in Notepad and compile it. Tested opening and closing files ok, testing extracting command line paramters with command$, and I am pretty sure that the serial ports are only a few lines of code.
I think this might be the equivalent of TinyC - perfect for those quick and simple command line programs
It pains me to see you struggling with VB.
I wish we could get you off BASIC and onto Python or some other modern language (even Perl). Especially for command line apps.
a) There is an ocean of users of these languages on the net who could help.
b) There is an ocean tutorials, examples etc to pick from.
c) A lot of what you are struggling with are long solved problems. Shelling out to a sub process easy.
d) The results of you labors would perhaps be useful to a wider audience, all those Mac and Unix guys, Users can be helpers as well.
My current favorite is JavaScript where shelling out to a command is as simple as:
Something like Python may be more to your liking.