Har testat clickonce lite och har problem att få till själva installationen. Jag skulle antingen vilja få möjlighet att välja vart programmet ska installeras eller kunna ange detta i programmet. Programmet jag kör behöver nämligen ligga i en speciell mapp för att funka korrekt men jag hittar inget där man kan styra detta, är det möjligt? Har tyvärr inget svar på frågan, men när jag läser "Programmet jag kör behöver nämligen ligga i en speciell mapp för att funka korrekt" blir jag lite "rädd", det låter väldigt korkat och kommer garanterat ställa till problem för dej i framtiden. Varför måste det vara installerat på ett speciellt ställe? Jag skulle fokuserat på att bli av med det kravet istället. Förklara gärna problemet om du vill ha hjälp att lösa det. Nej.. det installeras dit det installeras, och tanken är att du inte ska behöva bry dej om exakt vart det installeras. Lite felformulerat av mig kanske. Jag har ett annat program som skulle behöva referera till clickonce-programmet och det första spom slog mig var att lägga det i samma mapp. Då detta inte verkar vara möjligt skulle jag behöva få reda på var det programmet installerats. Finns det nån form av registervärde eller liknande som säger var programmet finns? Ett Click-Once program är ett fristående program, som inte beror på var det ligger - och inte heller har några program som beror på sig. Du vill nog ha ett vanligt program... Hej I clickOnce fallet kommer det där inte att funka Mitt inlägg ovan är en lösning där tobias kan hitta det andra installerade programmet från sin egen kod. Alltså, "click once"-programmet söker efter annat program. Han kommer därför bort från behovet att installera de bägge programmen på samma ställe. Vart han har sitt eget program är jag övertygad om att han har koll på (Application.StartupPath). jo, men om du läser Tobias inlägg igen, så ser du att han ville/behövde göra det andra vägenClickOnce Installationsmapp
Sv: ClickOnce Installationsmapp
/JohanSv: ClickOnce Installationsmapp
Och som nån annan redan sa fixa "Programmet jag kör behöver nämligen ligga i en speciell mapp för att funka korrekt" iställetSv:ClickOnce Installationsmapp
Sv: ClickOnce Installationsmapp
/mickeSv: ClickOnce Installationsmapp
Jag har haft samma problem som du. Jag behövde också veta var ett program var installerat eftersom jag ville kunna starta det andra programmet från mitt eget.
Jag gjorde såhär:
DriveInfo[] drives = DriveInfo.GetDrives();
// Search in all drives. (Most likely found in C:)
foreach (DriveInfo drive in drives)
{
if (drive.IsReady && drive.DriveType == DriveType.Fixed)
{
try
{
// Search for "\\TheFolderIAmLookingFor"
directoriesFound = Directory.GetDirectories(drive.Name, "TheFolderIAmLookingFor", SearchOption.AllDirectories);
}
catch
{
continue;
}
if (directoriesFound.Length > 0 && directoriesFound != null)
{
foreach (string directory in directoriesFound)
{
try
{
// Search for the executable file
filesFound = Directory.GetFiles(directory, "TheProgramIAmLookingFor.exe", SearchOption.AllDirectories);
}
catch
{
continue;
}
if (filesFound.Length > 0 && filesFound != null)
{
// Path to the executable file we are looking for
path = filesFound[0].Substring(0, filesFound[0].Length - "\\TheProgramIAmLookingFor.exe".Length);
fileIsFound = true;
break;
}
}
}
Jag hoppas där inte har smugit sig in några fel.
(Obs. denna genomsökningsmetod kör mitt program endast en gång under sin "livstid". Adressen till programmet jag söker sparar jag sedan i en xml-fil där jag har lite settings info.)
//Sofia
Sv:ClickOnce Installationsmapp
ClickOnce installerar till
c:\Documents And Settings\<user>\Local settings\apps\2.0\<random>\<random\<exenamn>_<hashstuff>
MEN, click once sparar även (åtminstone) förra versionen av applikationen, så den kan finnas på flera ställen. Dessutom ändrar den sista foldern varje gång programmet uppdateras..Sv: ClickOnce Installationsmapp
/SofiaSv:ClickOnce Installationsmapp