Uruchamianie exe z maila

0

Witam,

Na wstępnie chciałbym powiedzieć, że nie -- nie piszę h4xora i jakiś innych noob trojanów.

Mam małą aplikację desktopową używaną w sieci wewnętrznej. Muszę dodać teraz taką opcję, że jeden użytkownik dodaje do bazy np. klienta, ale tak aby jego właścicielem był inny użytkownik aplikacji. Założenia są takie, że osoba X dodaje owego klienta, i jako właściciela ustawia osobę Y. Dane są zapisywane do bazy, a do użytkownika Y leci mail, czy na pewno chce być właścicielem owego klienta. W mailu tym ma być link, do potwierdzenia operacji. Najłatwiej będzie chyba uruchomić aplikację z parametrem (np. id dodanego klienta).

Miał ktoś może z czymś podobnym doczynienia, jak to zrobić najłatwiej ?

Domyślam się, że w treści maila trzeba odwołać się do aplikacji, plus jest taki, że jest ona zawsze w program files. Z poziomu np. ASP.NET nie byłoby raczej łopotu, gorzej z html (treści wiadomości) - da się z javascriptu, ale trzeba pamiętać, że jest to jednak mail a nie zwykła strona.

Problem też jest z obsługą samej aplikacji, jak to oprogramować. Założenie jest takie, że jeśli wywołamy aplikacje z argumentem i nie jest ona odpalona to powinna się uruchomić, jeśli zaś jest uruchomiona powinno wyskoczyć samo okno potwierdzenia operacji. Jest na to jakiś łatwy sposób ? Domyślam się, że będę musiał kombinować uchwytami, procesami i pewnie mutexem.

Nie oczekuję gotowych odpowiedzi, z samym zaprogramowaniem też sobie poradzę. Poszukuję wskazówek i ogólnie optymalnego rozwiązania takiego problemu.

Pozdrawiam

3

nie widzę żadnego powodu, by w mailu przesyłać w tym celu jakieś aplikacje. wystarczy w mailu link do strony, której otwarcie spowoduje coś-tam–coś-tam. Na serwerze www będzie ASP.Net, php czy dowolny inny skrypt.
zauważ że gdy rejestrujesz się w jakimś serwisie www, to często przychodzi mail z linkiem który należy kliknąć w celu potwierdzenia. nigdy nie jest to aplikacja.

0

Tzn tutaj kliknięcie w link, ma otworzyć program (exe) już zainstalowany na komputerze w znanej ścieżce. Wolałbym taki sposób bezpośredni, klik w mailu odpala się aplikacja (a jeśli jest uruchomiona) to dodatkowe okno na niej potwierdzające chęć "opieki" nad klientem. Cały czas mówimy o desktopie, chyba że ja coś źle zrozumiałem. Pozdrawiam

0

A może by tak skojarzyć format z pliku z programem? Ale fakt, nie jest to sposób bezpośredni.

Mógłbyś również pokombinować(stworzyć własny) z prefiksami do odnośników. Typu mailto:, gg: idt. Na pewno da się tak, kiedyś widziałem taki link, co powodował uruchomienie TeamSpeak'a z określonym kanałem.

0
Jonathan napisał(a)

Tzn tutaj kliknięcie w link, ma otworzyć program (exe) już zainstalowany na komputerze w znanej ścieżce. Wolałbym taki sposób bezpośredni, klik w mailu odpala się aplikacja (a jeśli jest uruchomiona) to dodatkowe okno na niej potwierdzające chęć "opieki" nad klientem. Cały czas mówimy o desktopie, chyba że ja coś źle zrozumiałem. Pozdrawiam

czemu tak Ci zależy na uruchomieniu exe?

0

Dzięki, czy mi zależy na uruchomieniu exe, jeśli jest jakiś inny sposób - czemu nie, ale jak chce mieć w aplikacji głównej obsługę to raczej innej opcji nie ma ;)

Dzięki somekind za protokoły. Co do obsługi to nie ma kłopotu z np. konfiguracją rejestru, aplikacja prawdopodobnie będzie instalowana z zasad grupy. To będzie chyba najlepsze rozwiązanie, wysyłać jakiś plik z np. id w środku, dwuklik odpala aplikację.

Pozostaje tylko kwestia odwołania się do istniejącej instacji programu jeśli on jest już uruchomiony. Samo zabezpieczenie załatwia mutex, gorzej z wywołaniem odpowiedniej funkcji na istniejącej instancji, zobaczymy poczytamy - mam tylko nadzieje, że obejdzie się bez winapi, gdyż nie jestem jego wielkim zwolennikiem ;p

0

Moim zdaniem tutaj jest zła ogólna koncepcja założeń. Takie funkcjonalności rozwiązuje się na dwa sposoby:

  1. Jeśli aplikacja jest webowa, to link przesłany w mailu kieruje do jakiejś strony potwierdzającej będącej częścią aplikacji.
  2. Jeśli aplikacja jest desktopowa, to posiada własny, wewnętrzny system przesyłania wiadomości między użytkownikami (wówczas jedną z opcji np. menu jest "skrzynka odbiorcza"), i to nim przesyła się wszelkie komunikaty czy też prośby o potwierdzenie.
    Myślę, że powinieneś użyć tutaj właśnie drugiego sposobu, nawet jeśli wiąże się z koniecznością implementacji obsługi wiadomości. Bo to, co próbujesz zrobić może się uda, a może nie, ale podejrzewam, że nie jesteś w stanie zapewnić niezawodności, a być może jest to rozwiązanie niebezpieczne. A na dodatek wygląda cholernie nieprofesjonalnie.
0

Jeżeli chcesz taką informację przesyłać mailem, to w treści umieść po prostu "aby potwierdzić zaloguj się do aplikacji xxx i w zakładce yyyy wybierz zzzz". Po sprawie ;)

0

Panowie dzięki za odpowiedzi, jednak użyje protokołów w stylu Aplikacja://Guid, domyślam się, że w pewien sposób jest to niebezpieczne, bo ktoś z zewnątrz może podszyć i zamiast linka do aplikacji umieścić link do jakiegoś szkodnika, lecz w moim przypadku bardzo bardzo mało prawdopodobne. Jak mówiłem, aplikacja będzie działać w małym gronie, max 30 os, więc "forma maila" i tak raczej nie wyjdzie poza biuro.

@@ Sarrus
Z całym szacunkiem dla Ciebie, ale idąc za tym tropem myślenia -- po co dodawać skróty na pulpicie ? przecież można powiedzieć użytkownikowi wejdz w np. "C:\Program Files\Microsoft Office\Office14\EXCEL.EXE" - lecz chyba łatwiej jest klinąć.

0
Johnatan napisał(a)

@@ Sarrus
Z całym szacunkiem dla Ciebie, ale idąc za tym tropem myślenia -- po co dodawać skróty na pulpicie ? przecież można powiedzieć użytkownikowi wejdz w np. "C:\Program Files\Microsoft Office\Office14\EXCEL.EXE" - lecz chyba łatwiej jest klinąć.

Dla użytkownika, który na co dzień pracuje z daną aplikacją, nie powinno być problemu odpalenie jej ze skrótu na pulpicie. Naszym zadaniem jako programistom jest ułatwianie ludziom życia, no ale bez przesady.

EDIT
Z doświadczenia wiem też, że użytkownik nie może mieć za dobrze, bo się rozbestwia i potem same z nim problemy :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1