C# WPF install settings

C# WPF install settings
2013-10-14T17:03:14+02:00
2013-10-17T20:10:34+02:00
2022-11-29T21:25:34+01:00
iolah2
Sziasztok!

Érdeklődnék, ha megírok C#-al egy WPF alkalmazást, SQL adatbázissal, hogy érdemes az installálást elkészíteni.
Célom hogy megadhassam hova telepítsen és telepítés során a connectionStringemet is beállíthassam(számítógép függő). A sima click once-nál nem kérdezi hova akarom telepíteni.
Mutasd a teljes hozzászólást!
Ok, amit mutattam, az 2010-es.
2012-ben ez van..(InstallShield Limited Edition)
InstallShield Limited Edition (ISLE) is free for Visual Studio developers and replaces the functionality of the project templates in Visual Studio for setup and deployment.


De nincs egyedül..(ClickOnce Security and Deployment)
ClickOnce is a deployment technology that enables you to create self-updating Windows-based applications that can be installed and run with minimal user interaction. Visual Studio provides full support for publishing and updating applications deployed with ClickOnce technology if you have developed your projects with Visual Basic and Visual C#.

Érdemes böngészni e leírásokat.
Mutasd a teljes hozzászólást!

  • Van a VS-nak szokásos install applikációja is.
    A connectionString telepítéskori megadása már nem biztos, hogy egyszerű, de a szerverhez kapcsolódás módjától mindenképp függ.
    Ha ODBCs, akkor a Registry szekcióba kell valahogy a bevitt adatot bekombinálni. Ha közvetlenül SQLes a kapcsolat, akkor pl. a *.exe.config-ba kell beleírni...
    Mutasd a teljes hozzászólást!
  • Ha egy külső fájlom van telepítés után(amiben a connection string-et, vagy adatait tárolom), abból a kapcsolat stringet már elő tudom állítani és használni.

    A szokásos Install applikációt hol találom meg. Hogy beállítsam hova telepítse az alkalmazást? Telepítéskor létrejövő, de külsőleg is módosítható pl.: txt file-t akkor hogyan tudok legkönnyebben kapcsolni? Gondolom belül is írhatok file létrehozást(System.IO-val), de gondolom van egyszerűbb is.
    Köszönöm a választ!
    Mutasd a teljes hozzászólást!
  • A szokásos Install applikációt hol találom meg.

    Itt (lásd. csatolt kép)
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • Köszi
    1)
    De hogy érdemes ezt az installert használni? Esetleg milyen honlapon érdemes utána nézni?
    2)
    Ha külső fájlban tárolnék(.txt) connection string-et, azt Streamwriter-el érdemes csak létrehozni, vagy esetleg előre is be lehet írni, hogy telepítéskor létrehoza pl.: peldaAdat.txt-t?
    Köszi
    Mutasd a teljes hozzászólást!
  • 3) Nekem nincs meg a Visual Studio Installer, azt honnan lehet letölteni?
    Mutasd a teljes hozzászólást!
  • Egy default connection stringet használhatsz lokális esetben.
    [telepítési könyvtárakba belőve]

    Telepítéskor honnan is tudná, mit kell változtatni (mi a szerver, mi lett az adatbázis neve, akármi okból stb.)

    Erre legjobb ha a programban van egy adatbeviteli ablak, az itt megadott adatokkal meg feltupírozod a connection stringedet.

    Már csak azért sem install-kor kérem be az ilyesmit, mert mi van ha időközben módosul valami miatt, akkor a user is beállíthassa' (mégha valamiféle fékekkel is, pl. jelszó megadása után, amit a rendszergazditól kaphat, de offline... nem kell helyette, a nyakán ülve megcsinálni).
    Mutasd a teljes hozzászólást!
  • Jelenleg egy myConnString.txt text fileban terveztem tárolni a connection stringemet és onnan mindig beolvasni. A gondom, hogy hogyan lehet ezt a txt-t alapból létrehozni(hogy később majd kívül is módosíthassam). Jelenleg App.xaml.cs-ba írtam egy create .txt file-t, de azt nem tudom azonnal feltölteni.
    Olyan kellene, hogy a .txt file-om már telepítéskor létezzen(kívül pl explorer-ben szerkeszthető legyen).
    Köszönöm
    Mutasd a teljes hozzászólást!
  • Nekem nincs meg a Visual Studio Installer, azt honnan lehet letölteni?

    Bocsi, de nem Visual Studio-val dolgozol?
    Mutasd a teljes hozzászólást!
  • Visual Studio 2012-ben dolgozom, de a Setup and Deployment-ben csak Enable Installshield... választható van, nincs visual studio installer. Ráadásul online-on sem találom. Esetleg valahogy újra kellene telepíteni?
    Köszi
    Mutasd a teljes hozzászólást!
  • Ok, amit mutattam, az 2010-es.
    2012-ben ez van..(InstallShield Limited Edition)
    InstallShield Limited Edition (ISLE) is free for Visual Studio developers and replaces the functionality of the project templates in Visual Studio for setup and deployment.


    De nincs egyedül..(ClickOnce Security and Deployment)
    ClickOnce is a deployment technology that enables you to create self-updating Windows-based applications that can be installed and run with minimal user interaction. Visual Studio provides full support for publishing and updating applications deployed with ClickOnce technology if you have developed your projects with Visual Basic and Visual C#.

    Érdemes böngészni e leírásokat.
    Mutasd a teljes hozzászólást!
  • Köszi
    Talán a click once is jó lesz(de megnézem majd a másikat).
    A click once-nál csak a text file-t kell elhelyeznem/telepítenem.
    Köszi a segítséget, azért megnézem mit tud amit írtál:)
    Mutasd a teljes hozzászólást!
  • Köszi

    Szívesen!
    Ám ha már elfogadtad magad, mi a megoldás?
    iolah2 megoldása (0 pont)

    Vagy tán rossz helyre kattintottál?
    Mutasd a teljes hozzászólást!
  • Félre kattintottam, hogy tudom a te válaszod elfogadni?
    (összekavart mert azt én küldtem neked és láttam a neved azt hittem téged fogadlak el)
    Amúgy most csináltam click once-os telepítést. Rákattintok aztán semmi, meg se tudom nézni mért nem fút a program a saját gépemen, ami ugye visual studio-ban futott. Erre van valami ötleted? Ha gondolod létrehozok egy másik kérdést és ott válaszolj.
    Mutasd a teljes hozzászólást!
  • Ha gondolod létrehozok egy másik kérdést és ott válaszolj.

    Nem gondolom, maradjunk itt a témádnál.
    Írtad:
    Most csináltam click once-os telepítést Visual Studio 2012 c# wpf,
    adatbázis kapcsolat egy külső szerkeszthető connStr.txt file-ban tárolt connection stringgel.

    Felesleges a külsö szerkesztgetés, mikor a progidban is van rá mód:
    Managing Application Settings

    Cick Once - Valamikor magam is gyötrődtem véle, de azóta is használom..(Winforms - click once belső hálón)

    Rákattintok aztán semmi, meg se tudom nézni mért nem fút a program a saját gépemen, ami ugye visual studio-ban futott.

    1. Bocsi, de mire kattintasz?

    A sima click once-nál nem kérdezi hova akarom telepíteni.

    2. Ez vajon miért gond?
    3. Te hova szeretnél telepíteni, írnál egy példát, miként képzeled el a telepítés párbeszédeit?
    Mutasd a teljes hozzászólást!
  • A gondom a visual studio 2012 -> properties -> publish-nál(sima click once), hogy egy korlátozott hozzáférésű fájlba telepít a setup, és ott mellé akarok tenni egy myconStr.txt file-t.
    Úgy hogy a file-t módosítsam az alkalmazás elindítása előtt, ha akarom.
    pl.:txt

    data source=
    .\SQLEXPRESS
    initial catalog=
    AcSakk
    user id=
    csavo
    password=
    lelkes
    Mutasd a teljes hozzászólást!
  • Bocsi, de felesleges ragaszkodnod egy védtelen txt-hez (bárki belemaszatolhat).
    Mindezt elintézheted a progidon belül is.
    Pl.
    How to change ConnectionString easily
    Kipróbálod?
    Mutasd a teljes hozzászólást!
  • A gép elég védett lesz és a cél hogy a progi elindítása nélkül változtathassam a stringet, különben belső string-ként setting.setting-el rögzítettem volna már.
    Amúgy most már megy, létre tudtam hozni a txt file-t és tudom külsőleg módosítani. Az egyetlen gond ami maradt hogy telepítéskor pl.: c:\Program Files\vonalkod-ba szeretném telepíteni és a vonalkod mappában, vagy almappájában elhelyezni a txt file-t is. Cél hogy ne kelljen keresni. Amúgy nem kell titkos connstring, így lehet szabadon külső fájl.
    app.xaml.cs:

    using System.Linq;
    using System.Threading;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Markup;
    using Vonalkod.Masina;

    namespace Vonalkod
    {
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {
    public static AcMasinaEntities ctx;
    private const string FILE_NAME = "MyConnStr.txt";
    private string Full_File_Name = AppDomain.CurrentDomain.BaseDirectory + FILE_NAME;
    protected override void OnExit(ExitEventArgs e)
    {
    Application.Current.Shutdown();
    }

    protected override void OnStartup(StartupEventArgs e)
    {
    Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("hu-HU"); ;

    Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("hu-HU"); ;



    FrameworkElement.LanguageProperty.OverrideMetadata(

    typeof(FrameworkElement),

    new FrameworkPropertyMetadata(

    XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
    string[] fileList = System.IO.Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory, FILE_NAME);

    if (fileList.Length == 0)
    {
    File.Create(Full_File_Name);



    }


    string[] adatok = new string[4];
    try
    {
    var fileSorai = File.ReadAllLines(Full_File_Name);

    for (int i = 0; i < 4; i++)
    {
    adatok = fileSorai[2 * i + 1];
    }
    }
    catch (Exception)
    {
    string[] tarolS = new string[] { "data source=", ".\SQLEXPRESS", "initial catalog=", "Balassi", "user id=", "csvoa", "password=", "kancsal" };
    for (int i = 0; i < 4; i++)
    {
    adatok
    = tarolS[2 * i + 1];
    }

    }
    var connStr = connectionStrBuilder.connectionStrBuilderProc(adatok);
    ctx = new AcMasinaEntities(connStr);
    base.OnStartup(e);


    }
    }
    }
    Mutasd a teljes hozzászólást!
  • Bocsi, de ezt érdemes használni.
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • Köszi. Gondoltam rá csak nem láttam hol van a képen.
    Amúgy te hogy csináltad a rajzot? Érdekelnének az ilyen pillanatképek.
    Mutasd a teljes hozzászólást!
  • Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd