Original von DaSchroeter
Mit 2007 läuft auch alles prima, aber in Word/Excel 2003 bleibt der
von meinem AddIn erstellte Button (ach ja: das macht es) hängen.
Bedeutet soviel wie, du legst einen Button an und der bleibt nach der Deinstallation?
Wenn du den Button via CommanBar/CommandBarButton anlegst, kannst du Office mitteilen dass die CommandBar nur temporär hinzugefügt werden soll und nur in der aktuellen Instanz vorhanden ist. Vielleicht hilft dir das ja schon weiter.
Hi
hier sollte dir geholfen werden: http://www.mono-project.com/ASP.NET
Solch einen Konverter gibts auch von VMWare kostenlos: http://www.vmware.com/products/converter/overview.html
Hi
du kannst die Deploymentprojekte nicht nachinstallieren. Es gibt aber kostenlose Alternativen wie z.B. NSIS, Inno-Setup, ...
--edit
Typo
Hi,
ich weiß jetzt nicht obs in VS2003 auch schon so ist, aber schau mal in den Setupeigenschaften nach ob es den Punkt "Erforderliche Komponeten" gibt. Damit sollte dir geholfen sein.
Ich verwende selbst VMWare. Habe damit einfach bessere Erfahrungen gemacht. Aber im Endeffekt ist es ja egal, hauptsache die VM läuft.
Ich hab keine speziellen Erfahrungen mit der Installation beider Versionen auf einer Maschine, aber bei Beta Versionen von solchem Umfang bietet sich eine VM an 😉
Die Zeit zum Neuinstallieren will ich nicht aufbringen. Falls was Probleme macht wird die VM resettet und gut ist.
Dann musst du uns schon erzählen wie das Ganze aussehen soll. Wie sieht die Webseite aus, Arbeitsablauf etc. Ansonsten fisch ich nur im Dunkeln rum. Das mit window.open geöffnete Fenster ist ein Popup.
Du musst den Link schon direkt öffnen. Du kannst ihn nicht als Ziel eines Popups verwenden.
Hi
müsste, wenn ich es richtig verstanden habe, über GetKeyState für den Key Insert funktionieren.
http://www.pinvoke.net/default.aspx/user32/GetKeyState.html
http://www.pinvoke.net/default.aspx/Enums/VK.html
Ich vermute mal du benötigst dies für das Thema im anderen Thread [ Dateien auf dem Client erzeugen ]?
Entweder gibts du dann den Hostnamen oder die IP als Parameter mit oder, falls die ClickOnce Anwendung vom gleichen Server gestartet wird, liest du dir die Informationen von ApplicationDeployment.ActivationUri aus.
--edit
'anderer Thread' verlinkt
Hi du hast doch den Hostnamen des Servers?! Vorrausgesetzt euer DNS ist richtig konfiguriert bekommst du über den Lookup die zu dem Hostnamen passende IP.
btw. werde ich aus deinem letzten Post nicht so wirklich schlau. Zeig mal was du gemacht hast. Beispiele dazu gibts in der MSDN.
Auch per DNS Lookup --> Dns.GetHostAddresses()
Hi
wieso den Umweg über einen URI, wenn doch alles auf der selben Maschine stattfindet?
Du weißt doch wo der Ordner, der über die URI http://localhost/ordner erreichbar ist, im Dateisystem liegt 🤔
Hast du die Anwendung über ClickOnce verteilt? Wie hast du die Anwendung gestartet?
Das hat nicht geklappt, da hab ich Sie dann in der cs Datei eingefügt, die abfängt, dass es sich um ClickOnce handelt und dann an die Form ausführt.
welche?
Ich habe gerade ein simples WinForms Projekt erstellt. Die Form sieht so aus
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections.Specialized;
using System.Deployment.Application;
using System.Web;
namespace ClickOnceTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show(GetQueryStringParameters()["test"]);
}
static NameValueCollection GetQueryStringParameters()
{
NameValueCollection nameValueTable = new NameValueCollection();
if ( ApplicationDeployment.IsNetworkDeployed )
{
string queryString = ApplicationDeployment.CurrentDeployment.ActivationUri.Query;
nameValueTable = HttpUtility.ParseQueryString(queryString);
}
return (nameValueTable);
}
}
}
Dass ganze über die Projekteigenschaften veröffentlicht. Zuvor habe ich unter Optionen die Url Parameter aktiviert. Dann per http://.../foobar.application?test=Hallo aufgerufen.
Du kannst die Anwendung direkt über den Link starten. Der Button auf der "publish.htm" macht auch nichts anderes.
Ich kenn mich mit Word und Datenquellen nicht genügend aus, aber ich vermute mal das diese dateibasierend sind?
Wenn ja dann muss der Client diese irgendwie erreichen können. Ob das nun über http, ftp, Netzlaufwerk oder sonstige Wege geschieht ist dir überlassen.
Original von CrazyPlaya
Also kann ich nun praktisch hingehen, die ClickOnce App aus meiner Website aufrufen, wenn ich bspw. auf WordSysmbol klicke, aufrufen und den Benutzernamen mitgeben.
Ja
Bevor diese Anwendung nun auf dem Client installiert ist kann ich anhand der Informationen die Datei die als Datenquelle für den Serienbrief gilt anhängen und dann auf dem Client Word starten und die Datnequelle dementsprechend übergeben?
Wenn du die Anwendung nur online verfügbar stellen willst, wird diese nicht installiert. Du kannst die Datenquelle (als Datei) nicht an die Parameter anhängen. Du könntest aber als Parameter hinterlegen wo der Client diese abrufen kann. Diese kann er dann auf den lokalen Rechner laden und an Word anbinden (damit kenne ich mich nicht aus).
Kann ich den Parameter den ich mitgebe in der Forms Anwendugn ganz normal mit request.params.get() abrufen oder wie läuft das?
Das steht doch in dem Link den ich vorher gepostet habe 😉
Hi
ja kann man. Siehe http://msdn2.microsoft.com/en-us/library/ms172242.aspx
Hallo robertblutner,
ich weiß nicht ob ihr schon zu einer Entscheidung gekommen seid (ich hoffe doch 😉 ).
Ich sehe nicht, wie eine Exception bei Fall 2 gegen die serviceorientierte Architektur verstossen sollte. Es wäre ein Verstoß, wenn die Exception selbst übertragen würde.
Dies ist aber bei WCF nicht der Fall. Die Exception wird als SOAP Fault übertragen, die auch von nicht .NET Konsumenten verarbeitet werden kann.
Ich stelle mir eher die Frage ob es im Allgemeinen sinnvoll ist eine Exception zu werfen, wenn kein passender Datensatz vorhanden ist.
Die Rückgabe von null drückt dies IMHO schon aus.
mfg
langalaxy
Original von CrazyPlaya
Wo kommt man denn wohl schneller rein?
In die Erstellung von ActiveX Controls oder ClickOnce?
Und was ist die saubere Lösung?
Rein von der Programmierung ist eine via ClickOnce verteilte Anwendung nicht anders zu betrachten als eine gewöhnliche WinForms Anwendung. Wenn du gewisse Dinge wie Aktualisierung etc. selber verwalten willst wird es etwas aufwendiger, aber nicht schwieriger. Wobei das in deinem Fall nicht zutrifft.
Was der Aufwand bezüglich ActiveX ist, kann ich dir nicht sagen, da ich mich damit nicht auskenne.
Was die schönere Lösung ist hängt im Endeffekt von deinen Anforderungen ab. Wenn du sagst, dass nichts auf den Clients installiert werden darf fallen die ActiveX Controls schon mal weg. Wobei für ClickOnce das .NET Framework auf den Clients vorhanden sein muss.
Original von Peter Bucher
@langalaxy
CliceOnce ist AFAIK primär dafür gedacht, Anwendungen einfach zu deployen, sprich: auch zu installieren.
Aber evt. kann man die Software auch einfach nur aus einem temporären Verzeichnis starten lassen~
Man kann bei ClickOnce definieren ob die Anwendung nur Online oder auch Offline ( = Installation ) verfügbar ist. Die Onlinevariante würde auf die Anforderungen passen.
Hi
diese Anwendung liegt auf dem Server, wird aber auf dem Client ausgeführt.
Die Anwendung funktioniert genauso wie jede andere WinForms Anwendung auch.
Genaueres zu dem Thema findest du in der MSDN
http://msdn2.microsoft.com/de-de/library/142dbbz4(VS.80).aspx
http://msdn2.microsoft.com/de-de/library/71baz9ah(VS.80).aspx
Hi
dasselbe wie Peter Bucher meint:*Erzeugen der Dateien *Starten der Officeanwendung(en)
Hi
eine Möglichkeit wäre eine WinForms Anwendung via ClickOnce zu starten. Diese kannst du direkt vom Webserver starten und sie müssen nicht installiert werden. Zusätlich sparst du dir das ActiveX Gefrickel.
--edit
Typo
Hi
du musst in deiner Logik unterscheiden ob du den Tabwechsel ausgelöst hast oder der Benutzer über die Tabreiter.
Hi
folgende Exception wird geworfen
System.IO.DirectoryNotFoundException wurde nicht behandelt.
Message="Ein Teil des Pfades C:\Dokumente und Einstellungen\langalaxy\Desktop\Icon\TaskIcon.ico konnte nicht gefunden werden."
Source="mscorlib"
StackTrace:
bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
bei System.Drawing.Icon..ctor(String fileName, Int32 width, Int32 height)
bei System.Drawing.Icon..ctor(String fileName)
bei QuickLaunchDotNet.Program.Main()
mfg
langalaxy
Hi
solche Informationen sollten sich bei der IANA und über whois ermitteln lassen.
Für die Lokalisierung sollte das Stichwort Geolocating weiterhelfen.
Hi
damit du einzelne Spalten gezielt ausblenden kannst, darfst du die Spalten nicht dynamisch erzeugen lassen. Definiere die Spalten die du benötigst explizit.
Für den Link kannst du ein Templatefeld benützen.
btw. kann man keine Verzeichnisse herunterladen, es sind nur einzelne Dateien möglich. Biete den Download z.B. als Zip an.
Hi
wie ich schon angemerkt habe, wird dies über den Webservice nicht möglich sein, da du dafür einen API-Key benötigst und Google keine mehr vergibt.
As of December 5, 2006, we are no longer issuing new API keys for the SOAP Search API. Developers with existing SOAP Search API keys will not be affected. http://code.google.com/apis/soapsearch/reference.html
Die AJAX Search API lässt sich nur im Web verwenden.
Hi
hier gibts einen Artikel zu dem Thema.
http://msdn.microsoft.com/msdnmag/issues/06/10/InsideMSDN/#S8
So wie ich das sehe solltest du den genannten Webservice verwenden: http://services.msdn.microsoft.com/ContentServices/ContentService.asmx
Hi
MSDN siehe Eigene Doku in die MSDN integrieren?
Bei Google bin ich mir nicht sicher, ob es nur noch für Webapplikationen möglich ist.
Hi
die Ribbons sind nicht schwieriger zu handhaben als die CommandBars und Buttons.
Du kannst dir das Bsp. http://msdn2.microsoft.com/en-US/library/aa338202.aspx ja mal anschauen. Darin ist eigentlich alles beschrieben, was du benötigst.
Hi
versuch mal msoButtonIconAndCaptionBelow
http://msdn2.microsoft.com/en-US/library/aa432484.aspx
http://msdn2.microsoft.com/En-US/library/aa663367.aspx
btw. wenn du das ganze direkt über Ribbons machst, geht es m. E. nach leichter von der Hand. Einmal die Definition in die XML Datei, den Callback dazu fertig 😉
Hi
gibts z.B. hier: http://www.codeproject.com/cs/miscctrl/XPTaskBar.asp
Hi,
ich denke bei einem solchen Programm reicht es aus die Prozessliste periodisch abzurufen und dann nach den definierten Prozessen zu suchen.
Hi
@LonelyPixel: ein Beispiel zu UPNP gibts hier http://www.codeproject.com/internet/PortForward.asp
Für produktiven Einsatz ist IMHO nicht wirklich geeignet. Die Admins / Kunden werden wahrscheinlich lieber zwei Ports weiterleiten, als ein Scheunentor aufzureißen. Portweiterleitung sollten in einem Netzwerk keine Zumutung sein 😉
Für das Einrichten einer Portweiterleitung ist normalerweise auch kein Neustart des Routers notwendig?!
Hi
schau mal was in dem Registrypfad für die Addins bei LoadBehavior steht. Der Wert sollte 3 sein. Btw. wenn du für Excel 2007 programmierst - wieso benutzt du keine Ribbons? Sind meiner Meinung nach leichter zu Handhaben wie die CommandBars und Co.
Hi
du bekommst ein Array zurück, da ein Webservice interoperabel sein sollte und nur .NET Generics kennt. Mit einem Array können auch andere Sprachen umgehen.
Handelt es sich um einen ASMX oder um einen WCF basierten Webservice? Falls es ein WCF Service ist und du damit Leben kannst, dass er nur per .NET angesprochen wird kannst du dir mal den Switch /collectionType von SvcUtil anschauen.
Original von citizen.ron
Im oben geschilderten Fall (sprich: auf meinem Rechner) bspw. sind der MS CRM Hoster und der iPodService inder Systemstartlasche nicht aufgeführt und auch sonst nicht ohne weiteres zu finden.
Hi,
hat jetzt nichts direkt mit dem Projekt zu tun, aber wieso steht der bei dir nicht in der Liste? Ich hab den drin 😉 Hast du den Laptop- oder Desktopclient installiert?
Hi,
IMHO müssen sich alle Programme in der Registry oder im Autostart eintragen um gestartet zu werden. Mit msconfig lässt sich schon relativ viel abschalten. Jedoch nerven die Programme, die sich immer wieder eintragen. Daher wäre ein Programm dass das unter Kontrolle hällt nicht schlecht 🙂
Hi,
Original von joschika77
Hmmm... danke langalaxy für die Antworten, aber kann damit nicht viel anfangen.
Wo hängt es denn?
Hi,
Stichwort UserControl
mfg
Christoph
hi
hier die zwei Artikel, die ich meinte
http://msdn2.microsoft.com/en-us/library/bb332051.aspx
http://msdn2.microsoft.com/en-us/library/bb332052.aspx
Hi,
ich komm grad leider nicht auf die MSDN, aber such mal nach VSTO 2005 deployment. In der MSDN gibts zwei Artikel zu dem Thema, in der das Setup Schritt für Schritt erklärt wird. Allerdings musst du beachtend, dass in dem Tutorial nur für die Addin Assembly Full-Trust gesetzt wird.
Hi,
wie man mit PHP gegen einen Webservice programmiert kann ich dir leider nicht sagen, da ich noch nie in die Gelegenheit gekommen bin. Aber im Internet gibts bestimmt Informationen darüber 😉
Zum Thema WCF gibt es aktuell eine Webcastserie [1]
Auch in der MSDN findest du viel [2]
[1] http://www.microsoft.com/germany/msdn/webcasts/serien/MSDNWCS-0704-02.mspx
[2] http://msdn2.microsoft.com/en-us/netframework/aa663324.aspx
http://msdn2.microsoft.com/en-us/library/ms735119.aspx