Diskuze: Update programu

C# .NET .NET (C# a Visual Basic) Update programu American English version English version

Avatar
Freddy
Neregistrovaný
Avatar
Freddy:

Dobrý den,

chci se zeptat jak a kde se zapisuje ověření a následný update programu. Začínám programovat v C# a pro můj první projekt už chybí jen udělat ověření a následné přepsání stávající verze za novou. Myslím, že v tom jede [assembly: AssemblyVersi­on("1.0.0.0")]

Bohužel nevím kam to mám zapsat ani pořádně co to má dělat.

 
Odpovědět 30.3.2013 17:38
Avatar
Odpovídá na Freddy
Michal Žůrek (misaz):

Nejlepší (podle mě) je zapsat si verzi do registru. Naprogramovat aktualizační službu (další aplikaci), která to ověří v registru a případně přepíše starou verzi.

Nahoru Odpovědět 30.3.2013 19:06
Nesnáším {}, proto se jim vyhýbám.
Avatar
jakub
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
jakub:

Nezapisoval bych do registru,postačil by XML soubor s nějakým infem

Nahoru Odpovědět 30.3.2013 19:08
Uvnitř jsou všichni stejní...
Avatar
Odpovídá na jakub
Michal Žůrek (misaz):

To je celkem fuk, jak to zapíšeš. Podstatné je pouze to, že pak spětně tu verzi zjistíš.

Nahoru Odpovědět 30.3.2013 19:09
Nesnáším {}, proto se jim vyhýbám.
Avatar
jakub
Redaktor
Avatar
Odpovídá na Freddy
jakub:

Odkážu tě na článek: http://www.itnetwork.cz/…bovy-updater
je tam vše,co potřebuješ

Nahoru Odpovědět 30.3.2013 19:11
Uvnitř jsou všichni stejní...
Avatar
Freddy
Neregistrovaný
Avatar
Odpovídá na jakub
Freddy:

Děkuju to je přesně ono, ale chci se zeptat jestli není někde zdroj. kod toho programu. Je to super, ale chtěl by sem to spustit přímo v mém programu a taky aby uživatel neznal doménu odkud stahuje update.

Jinak je to přesně to co potřebuju

 
Nahoru Odpovědět 31.3.2013 10:51
Avatar
Freddy
Neregistrovaný
Avatar
Freddy:

Kod jsem našel, ale má to nějaký rozbitý. Ani se mi nezobrazí okno. Kde je prosím chyba? Vím, že ve mně, ale proc to nic nedělá?

http://www.itnetwork.cz/…rsal-updater

 
Nahoru Odpovědět 31.3.2013 12:15
Avatar
jakub
Redaktor
Avatar
Odpovídá na Freddy
jakub:

zkontroluj si zda máš vše nastavené jak má být,mělo by to fungovat :-)

Nahoru Odpovědět 31.3.2013 12:41
Uvnitř jsou všichni stejní...
Avatar
Freddy
Neregistrovaný
Avatar
Freddy:

Už jsem otestoval všechno. Nezobrazí se ani okno a kdyz spustim kompilovaný od autora, tak to udělá taky prd. Jsem začátečník a na jednu stranu mě baví, že autor to tam dal nedodělaný. Programátor co tomu bude rozumět si to udělá sám a možná mnohem lépe a začátečník jako já to nerozchodí.

Tudíš si troufnu říct, že článek je o ničem. Nejdřív to chtělo soubor, tak jsem mu ho poskytl podle manuálu a ted nedělá nic. Tak když to pouštím, tak soubor dávám pryč at vim, že to alespon něco dělá :-)

 
Nahoru Odpovědět 31.3.2013 12:48
Avatar
Freddy
Neregistrovaný
Avatar
Freddy:

uu.ini souboru jsem vlozil:

1.25.3333\nhttp:­//domena.cz/ca­talog/download/in­dex.php?id=1f5r­8d

Php soubor sice v souboru nebyla pribaleny, tak jsem použil tenhle kod a předpokládám, že se jedná o stejný soft.

switch ($_GET["progid"]) {
  case "muj_program_1":
    echo "1 0 0 0 http://www.domena.cz/catalog/download/program.exe http://www.example.com/soubor2.dll";
    break;

  case "muj_program_2":
    echo "1 0 0 5 http://www.domena.cz/catalog/download/program.exe";
    break;

  default:
    echo "error";
    break;
}
header("Content-Type:text/plain; charset=utf-8");

Asi dělám někde chybu já, ale nevím kde

 
Nahoru Odpovědět 31.3.2013 13:14
Avatar
Freddy
Neregistrovaný
Avatar
Freddy:

Pokrok :-) Ted už mi vypisuje: Cannot contact update server. Co to znamená vím, ale nevím proč. Podle mě mám špatný php, ale kde je šablona php pro universal update?

Děkuju za rady.

 
Nahoru Odpovědět 31.3.2013 15:20
Avatar
Odpovídá na Freddy
Michal Žůrek (misaz):

To si ale musíš to php připravit sám

Nahoru Odpovědět 31.3.2013 15:22
Nesnáším {}, proto se jim vyhýbám.
Avatar
Freddy
Neregistrovaný
Avatar
Freddy:

Nejlepší rada co jsem kdy četl :-)
Vědět co po mě ten program chce, tak tu asi nepíšu a popřípadě sem dám kod aby lidi nemuseli číst nekompletní manuál.

 
Nahoru Odpovědět 31.3.2013 15:27
Avatar
Freddy
Neregistrovaný
Avatar
Freddy:
echo "1.0.0.0
http://www.domena.cz/catalog/download/program
http://www.domena.cz/catalog/download/index.php?file=505b0c67d08e0&name=program.exe";
header("Content-Type:text/plain; charset=utf-8");

Snažím se o výstup jaký chce, ale požád stejná hláška. Kde je chyba? Fakt super manuál. Jako udělat webovku bez rozcestníku a divit se, že uživatel nedojde dál než na úvodní stranu.

 
Nahoru Odpovědět 31.3.2013 15:55
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Freddy
David Čápka:

U daného programu je vše přesně popsané dokonce i s ukázkou PHP kódu.

Nahoru Odpovědět 31.3.2013 16:18
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Freddy
Neregistrovaný
Avatar
Freddy:

To máte pravdu, ale nestáhne soubor celý a křičí, že je poškozený.

 
Nahoru Odpovědět 31.3.2013 16:32
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Freddy
David Čápka:

Pokud soubor vracíš nějakým PHP skriptem, můžeš tam mít chybu. Případně hoď PM Pelpetovi nebo to napiš k jeho článku, aby ti mohl poradit.

Nahoru Odpovědět 31.3.2013 16:37
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Pelpet
Redaktor
Avatar
Pelpet:

Mno, možná někdy hodím ten kód k tomu updateru. Spíš teda k úplně jinému updateru, protože za zdroják tamtoho bych se musel stydět :P Nevím ale kdy to bude, nemívám moc čas a když ho mám, tak se mi nechce :D

 
Nahoru Odpovědět 4.4.2013 23:42
Avatar
Зайчик
Člen
Avatar
Odpovídá na Pelpet
Зайчик:

Nic hroznýho to zas není :D až na tuhle zrůdovinu hned pod konstruktorem v hlavní třídě.

ComponentResourceManager componentResourceManager = new ComponentResourceManager(typeof (Form1));
      this.status = new Label();
      this.panel1 = new Panel();
      this.linkLabel1 = new LinkLabel();
      this.rate = new Label();
      this.progress = new ProgBar();
      this.SuspendLayout();
      this.status.AutoSize = true;
      this.status.Location = new Point(12, 9);
      this.status.Name = "status";
      this.status.Size = new Size(98, 13);
      this.status.TabIndex = 0;
      this.status.Text = "Probíhá příprava...";
      this.panel1.BackColor = SystemColors.ControlDark;
      this.panel1.Location = new Point(125, 78);
      this.panel1.Name = "panel1";
      this.panel1.Size = new Size(257, 1);
      this.panel1.TabIndex = 3;
      this.linkLabel1.ActiveLinkColor = Color.FromArgb(128, 128, (int) byte.MaxValue);
      this.linkLabel1.AutoSize = true;
      this.linkLabel1.LinkBehavior = LinkBehavior.AlwaysUnderline;
      this.linkLabel1.LinkColor = Color.FromArgb(128, 128, (int) byte.MaxValue);
      this.linkLabel1.Location = new Point(12, 70);
      this.linkLabel1.Name = "linkLabel1";
      this.linkLabel1.Size = new Size(107, 13);
      this.linkLabel1.TabIndex = 5;
      this.linkLabel1.TabStop = true;
      this.linkLabel1.Text = "www.pumpkin.mzf.cz";
      this.linkLabel1.VisitedLinkColor = Color.FromArgb(128, 128, (int) byte.MaxValue);
      this.linkLabel1.LinkClicked += new LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
      this.rate.Location = new Point(222, 45);
      this.rate.Name = "rate";
      this.rate.Size = new Size(160, 18);
      this.rate.TabIndex = 6;
      this.rate.Text = "0 B/s";
      this.rate.TextAlign = ContentAlignment.MiddleRight;
      this.progress.BorderStyle = BorderStyle.Fixed3D;
      this.progress.Location = new Point(12, 27);
      this.progress.Name = "progress";
      this.progress.Size = new Size(370, 18);
      this.progress.TabIndex = 1;
      this.AutoScaleDimensions = new SizeF(6f, 13f);
      this.AutoScaleMode = AutoScaleMode.Font;
      this.ClientSize = new Size(394, 92);
      this.Controls.Add((Control) this.rate);
      this.Controls.Add((Control) this.linkLabel1);
      this.Controls.Add((Control) this.panel1);
      this.Controls.Add((Control) this.progress);
      this.Controls.Add((Control) this.status);
      this.FormBorderStyle = FormBorderStyle.FixedSingle;
      this.Icon = (Icon) componentResourceManager.GetObject("$this.Icon");
      this.MaximizeBox = false;
      this.MinimizeBox = false;
      this.Name = "Form1";
      this.SizeGripStyle = SizeGripStyle.Hide;
      this.StartPosition = FormStartPosition.CenterScreen;
      this.Text = "Updater";
      this.Load += new EventHandler(this.Form1_Load);
      this.ResumeLayout(false);
      this.PerformLayout();
Nahoru Odpovědět 4.4.2013 23:52
Коммунизм для нашего будущего!
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Зайчик
David Čápka:

Tohle vygenerovalo Visual Studio, ne? :)

Nahoru Odpovědět  +1 5.4.2013 8:32
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Зайчик
Člen
Avatar
Odpovídá na David Čápka
Зайчик:

I to je možné, ale spíš ne Visual Studio to dělá kapánek jinak. Možné to vygenerovalo VS a dotPeek mi to špatně vyplivnul z5. :)

Nahoru Odpovědět 5.4.2013 8:40
Коммунизм для нашего будущего!
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Зайчик
David Čápka:

To je možné, nemyslím si, že si ručně pozicoval controly na formuláři :)

Nahoru Odpovědět 5.4.2013 8:47
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Зайчик
Člen
Avatar
Odpovídá na David Čápka
Зайчик:

:) nejspíš máš pravdu dotPeek není dokonalý :)

Nahoru Odpovědět 5.4.2013 13:29
Коммунизм для нашего будущего!
Avatar
Kit
Redaktor
Avatar
Odpovídá na Зайчик
Kit:

To vypadá příšerně.

Nahoru Odpovědět  +1 5.4.2013 13:32
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Pelpet
Redaktor
Avatar
Pelpet:

To jsem nepsal já. Tohle má na svědomí generátor Visual Studia.

Editováno 5.4.2013 14:24
 
Nahoru Odpovědět 5.4.2013 14:21
Avatar
Зайчик
Člen
Avatar
Odpovídá na Pelpet
Зайчик:

hehe :D jinak celkově ten kód nevypadal tak hrozně že by ses za něj mel stydět. Akorát tohle.. ale to dotpeek akorát nejspiš sloučil form1 designers.cs a form1 takže v tom vzniknul takový bordel. :)

Nahoru Odpovědět 5.4.2013 14:22
Коммунизм для нашего будущего!
Avatar
Kit
Redaktor
Avatar
Odpovídá na Pelpet
Kit:

No ale pak se divíme, proč se programátoři snaží takhle neobjektově psát aplikace.

Nahoru Odpovědět 5.4.2013 14:25
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Pelpet
Redaktor
Avatar
Pelpet:

No, už ani nevím, kdy jsem to psal, nicméně je tam nahuštěná logika tam, kde být nemá. Dneska se na to třeba kouknu. Kdyžtak napíšu článek.

 
Nahoru Odpovědět 5.4.2013 14:26
Avatar
Kit
Redaktor
Avatar
Odpovídá na Pelpet
Kit:

Vyjádřil jsem se jen k tomu generovanému fragmentu. Zbytek programu jsem zatím neviděl.

Nahoru Odpovědět 5.4.2013 14:31
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 29 zpráv z 29.