Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Freddy
Neregistrovaný
Avatar
Freddy:30.3.2013 17:38

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
Michal Žůrek - misaz:30.3.2013 19:06

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
Avatar
Jakub Mudra
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Jakub Mudra:30.3.2013 19:08

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 Mudra
Michal Žůrek - misaz:30.3.2013 19:09

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
Avatar
Jakub Mudra
Tvůrce
Avatar
Odpovídá na
Jakub Mudra:30.3.2013 19:11

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 Mudra
Freddy:31.3.2013 10:51

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:31.3.2013 12:15

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 Mudra
Tvůrce
Avatar
Odpovídá na
Jakub Mudra:31.3.2013 12:41

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:31.3.2013 12:48

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:31.3.2013 13:14

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:31.3.2013 15:20

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
Michal Žůrek - misaz:31.3.2013 15:22

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

 
Nahoru Odpovědět
31.3.2013 15:22
Avatar
Freddy
Neregistrovaný
Avatar
Freddy:31.3.2013 15:27

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:31.3.2013 15:55
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 Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:31.3.2013 16:18

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
You are the greatest project you will ever work on.
Avatar
Freddy
Neregistrovaný
Avatar
Freddy:31.3.2013 16:32

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 Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:31.3.2013 16:37

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
You are the greatest project you will ever work on.
Avatar
Pelpet
Tvůrce
Avatar
Pelpet:4.4.2013 23:42

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
Зайчик:4.4.2013 23:52

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 Hartinger
Vlastník
Avatar
Odpovídá na Зайчик
David Hartinger:5.4.2013 8:32

Tohle vygenerovalo Visual Studio, ne? :)

Nahoru Odpovědět
5.4.2013 8:32
You are the greatest project you will ever work on.
Avatar
Зайчик
Člen
Avatar
Odpovídá na David Hartinger
Зайчик:5.4.2013 8:40

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 Hartinger
Vlastník
Avatar
Odpovídá na Зайчик
David Hartinger:5.4.2013 8:47

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
You are the greatest project you will ever work on.
Avatar
Зайчик
Člen
Avatar
Odpovídá na David Hartinger
Зайчик:5.4.2013 13:29

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

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

To vypadá příšerně.

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

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
Зайчик:5.4.2013 14:22

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
Tvůrce
Avatar
Odpovídá na Pelpet
Kit:5.4.2013 14:25

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
Tvůrce
Avatar
Pelpet:5.4.2013 14:26

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
Tvůrce
Avatar
Odpovídá na Pelpet
Kit:5.4.2013 14:31

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.