webForumDet fria alternativet

Vilka filer behövs

.NET

27 svar · 1 358 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Frågan#1

Utan att använda sig av en setupp vilka filer behöver man för att kunna köra
en exe-fil (som man har byggt i VS) ?

:q

Medlem sedan maj 20012 812 inlägg
#2

Det du behöver är rätt .NET Framework. Har du det så kan du köra en .exe fil.

- M

Medlem sedan mars 20011 880 inlägg
#3

Nu när jag har scannat av internet(en del) så har jag förstått att jag behöver en
bootstrapper, jag är på djupt vatten nu, men hur löser jag det?

Medlem sedan dec. 20014 239 inlägg
#4

Hmm.. Läste du Gladhs inlägg?
Eller är det så att det är något annat du vill åstadkomma än att bara köra din .NET exe?

Medlem sedan mars 20011 880 inlägg
#5

Nja jag har väll varit väldigt otydlig tror jag.
I grunden så letade jag efter ett installationsprogram där man kunde installera
en eller flera applikationer. Jag har inte funnit någon som jag tyckte om, utan
fick en tokig ide.
Jag gjorde så här, de program som skulle installeras, gjorde jag setup på med
hjälp av VS.
Sen gjorde jag en app. där jag kunde bestämma vad som skulle installeras.
Men...
I grunden gör jag ju fel, därför att jag kan ju inte göra en setupp av det
programmet, det blir ju galet, därav min fråga. Sen snubblade jag över
bootstrapper men när jag förstod vad det var, så övergav jag det.

Jag har iallafall klumpat till det såpass att jag har lyckats???
Jag gjorde en batfil, som dras igång av autoRun.inf och där kör jag igång, först
dotNetFx35setup sen min exe-fil.

Detta är nog att kallas för att man bonnkodar, men det fungerar §jr

Tack för svar. (Skäll gärna lite på dumhet, då finns det kanske förhoppnings-
vis en chans att jag lär mig någonting).

Medlem sedan juli 200412 913 inlägg
#6

Ehm, du vill kunna köra dina .NET-applikationer UTAN att .NET Framework är installerat? Det vore ju underbart om det gick att göra så? Som förr i tiden med vbrun-dll'erna :)

Medlem sedan mars 20011 880 inlägg
#7

Nu har du missförståt mig Danny, som jag nämde en bat-fil

@echo off
framework\dotNetFx35setup.exe
Install\installation.exe

Det som är problemet är ju att den startar upp dotNetFx35setup.exe
oavsett om den behövs eller inte.
Vad jag skulle behöva är, att jag i min exe-fil kunde avgöra om framework är installerad eller inte.
Det går väll antagligen inte...

Medlem sedan juli 200412 913 inlägg
#8

"i din exe-fil"!? Det är väl bara då att bygga in den rutinen i programmet, som kollar att ramverket är installerat?

Men, jag tror det borde kunna gå med batchfil, om du t ex med batchfilen kollar i %systemroot% så borde man därifrån kunna se om en viss katalog (eller fil) som bara finns om ramverket är installerat, finns! Och då har du ju löst det.

Medlem sedan mars 20011 880 inlägg
#9

Du har naturligtvis rätt i att jag skall bygga upp bat-filen.
Men problem(vad annars)

@ECHO OFF
IF EXIST c:\Windows\Microsoft.NET\Framework\v3.5  GOTO TASKDONE ELSE GOTO TASKERROR
:TASKERROR
start /d "framework"dotNetFx35setup.exe
GOTO TASKDONE
:TASKDONE
start Install\installation.exe
exit

Hur jag än gör så får jag error "dotNetFx35setup.exe är inget internt kommando"
Är jag helt fel ute?

Medlem sedan dec. 2005664 inlägg
#10

Jag förstår inte. Ditt problem är att du vill kunna från ett setup-program kunna installera x antal progamvaror som ditt huvudprogam kräver (så som .net framework och andra trdjeparts-program).

Detta kan du göra med ett standard-setup projekt.

Medlem sedan mars 20011 880 inlägg
#11

coc:
Nja det är inte riktigt på det viset.
Vad jag först letade efter var ett riktigt installations-program, där jag kunde
instalera valfria applikationer som jag har byggt.(tänk dig hur det ser ut när
du installera VS, där du har möjligheten att välja C#,C++,VB.net osv.

Jag har letat som bara den, men inte hittat något som jag tyckte om.
Då fick jag idén att bygga en(en form med ett antal kryssrutor, och sen
bara dra igång msi-filerna).

Där kom din min första fråga i denna tråd, vilka filer som behövs.
Gladh svarade och det fungerade, men problemet var att den alltid[/b) körde igång dotNetFx35setup.exe.

Då fick jag tipset att göra en bat-fil för att kolla om en vis mapp fanns, fanns
den så skulle installations applikationen starta direkt, fanns den inte så skulle
dotNetFx35setup.exe dra igång.

Det jag nu har krabbat med är alltså att försöka göra en batfil.
Så här ser det ut just nu:

@ECHO OFF
IF EXIST c:\Windows\Microsoft.NET\Framework\v3.5  GOTO TASKDONE ELSE GOTO TASKERROR

:TASKERROR	
ECHO "Framework finns inte"
	framework/dotNetFx35setup.exe
GOTO TASKDONE 

:TASKDONE	
ECHO "Framework finns"

	Install\installation.exe
 exit

Hur det än är så få jag det inte att fungera, jag får ett error som säger att
framework/dotNetFx35setup.exe inte är ett internt kommando.
Jag hoppas att jag har klarat ut lite nu så att alla förstår vad jag menar.

Medlem sedan mars 20011 880 inlägg
#12

En liten liten justering hjälpte

@ECHO OFF
IF EXIST c:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe  GOTO TASKDONE ELSE GOTO TASKERROR

:TASKERROR
ECHO Installera FrameWork 3.5	

start	framework/dotNetFx35setup.exe GOTO TASKERROR
:TASKDONE	
	Install\installation.exe
exit

Nu fungerar det, iallafal på de tre datorer som jag har tillgång till.

Medlem sedan dec. 2005664 inlägg
#13

Kan du inte från ditt "Egna installations prgram", bara kicka igång de msi-filer som användaren valt. I respektive msifil kan du från setup-projektet i VS sätta dependensies, om .NET inte är installerat så körs den installationen annars inte.

Om inte detta fungerar måste det helt klart finnas ett bättre setupprogram som har de krav du behöver än att sitta i batfiler och mecka :)¨

Medlem sedan mars 20011 880 inlägg
#14

cok
Jo jag gjorde en liten förändring som möjliggav körningen av msi-filerna och det fungerar kanon

Process proc = new Process();
            string strAppPath = Application.StartupPath + "\\";
Application.DoEvents();
                 proc.StartInfo.FileName = strAppPath +"/MappBuilder/MappBuilder.msi"; 
                 proc.StartInfo.Arguments = ""; 
                 proc.Start();

osv.
Men jag är tvungen att börja att dra igång en bath-fil för att kolla om Framwork 3.5
är installerad.

Medlem sedan jan. 20023 327 inlägg
#15

saw skrev:

Jag har letat som bara den, men inte hittat något som jag tyckte om.

Har du kikat på någon av dessa?
http://www.installaware.com/
http://www.wisesolutions.com/Products/Installations.aspx

Inte gratis direkt, i och för sig.

/red
En gratis variant: http://www.advancedinstaller.com/
Lite mer att titta på: http://www.google.se/search?hl=sv&q=best+free+installer+tool&btnG=Google-sökning&meta=

Medlem sedan dec. 2005664 inlägg
#16

saw skrev:

Men jag är tvungen att börja att dra igång en bath-fil för att kolla om Framwork 3.5
är installerad.

Men varför låter du inte dina msifiler kontrollera detta???

Medlem sedan aug. 20003 575 inlägg
#17

Det inbyggda installationsprogrammet i vs.net klarar detta.
Annars är det visserligen fel att kika på om mappen existerar eftersom .net 3.5 sp1 finns nu.

I registret finns däremot info, tidigare kunde man titta under
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework och se på nycklarna, detta är dock flyttat när det gäller .net 3.5 eller senare till följande strängvärde
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5\Version :)

Jag bråttades med detta problemet då Wise inte stödjer 3.5 SP1 än :). Men gjorde en så kallad stub som skötte det.

Men jag vet som sagt att vs.net installationsprogram skall stödja så att 3.5 installationen med bootstrapper skall dra igång om man ställer in det.

Medlem sedan mars 20011 880 inlägg
#18

Av någon anledning så känns det som om jag har haft svårt att göra mig förståd.
Om ni kolla på bifogad fil, så ser ni hur jag har tänkt. Tittar man på cd:n
så ser man att den består bl a av många msi-filer som aktiveras genom
installationsprogramet. Det är detta som jag söker.

Jag har alltså inte funnit detta, trots att det nu har blivit ännu mera
kamrater här som har intresserat sig för mina försök.

Install.jpg
Medlem sedan aug. 20003 575 inlägg
#19

Det går att göra i Wise, kika på Features.

Medlem sedan mars 20011 880 inlägg
#20

Jag söktepå Wise men jag hittade ingenting av vad vi har pratat om här.
Har du en länk?

256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)