|
|
Yayınlandı 28.08.2018 11:56:12
|
|
|

Merhaba tanrılar,
Son zamanlarda programı paketlemek için Setup Project kullanıyorum ve adı A. Proje gereksinimleri nedeniyle, A kurulumu sırasında InstallShield tarafından paketlenen bir kurulum paketi B'yi kurmak zorunda kaldım. Burada. AfterInstall ve bunu. Uninstall bölümleri sırasıyla "Install" ve "Reverse Install" B kodlarını ekliyor. Ancak sorunsuz çalıştırılamadı ve B tarafından üretilen setup.log ResultCode=-3 aldı, ancak nedeni bilinmiyor...
Yönetim kurulundan yardım diliyorum, bu sorun uzun zamandır küçük kardeşimi rahatsız ediyor ve ben çözemedim... Teşekkür ederim!!
Aşağıdaki kodda, InstallerHelper_AfterInstall ve InstallerHelper_BeforeUninstall kodları yeni oluşturulan C# konsol programına yerleştirilir, ancak normal şekilde çalışabilir. WaitforExit() de sorunsuz takılabiliyor, B kurulum paketi de sorunsuz çalıştırılabilir, ResultCode=0.
Kod şöyledir: -- System kullanmak; System.Collections kullanarak; System.Collections.Generic kullanılarak; System.ComponentModel kullanılarak; System.Configuration.Install kullanarak; System.Linq kullanarak; System.Threading.Tasks kullanılarak; System.Configuration kullanılarak; System.Windows kullanarak; System.IO kullanmak; System.Diagnostics kullanmak; System.Threading kullanılarak;
isim alanı FRWebService
{ [RunInstaller(doğru)] public partial class InstallerHelper : Installer { public InstallerHelper() {
InitializeComponent();
Bu. BeforeInstall += yeni InstallEventHandler(InstallerHelper_BeforeInstall); Bu. AfterInstall += yeni InstallEventHandler(InstallerHelper_AfterInstall);
Bu. BeforeUninstall += new InstallEventHandler(InstallerHelper_BeforeUninstall); Bu. AfterUninstall += yeni InstallEventHandler(InstallerHelper_AfterUninstall); }
private void InstallerHelper_BeforeUninstall(object sender, InstallEventArgs e) { Denemek { String arg = "/s /uninst"; Process p = Process.Start("C:\\Program Files\\Test\\setup_io.exe", arg); p.WaitForInputIdle(); p.WaitForExit();
} catch (İstisna örneğin) {
} }
private void InstallerHelper_BeforeInstall(object sender, InstallEventArgs e) {
}
private void InstallerHelper_Committing(object sender, InstallEventArgs e) {
}
private void InstallerHelper_Committed(object sender, InstallEventArgs e) {
}
private void InstallerHelper_AfterInstall(object sender, InstallEventArgs e) { Denemek { String arg = "/s"; Process p = Process.Start("C:\\Program Files\\Test\\setup_io.exe", arg); p.WaitForInputIdle(); p.WaitForExit(); } catch (İstisna örneğin) {
} }
private void InstallerHelper_AfterUninstall(object sender, InstallEventArgs e) {
}
Uygulama kurulumu sırasında yapılacak kod public override void Install(System.Collections.IDictionary stateSaver) { System.Diagnostics.Debugger.Launch(); Üs. Install(stateSaver); System.Windows.Forms.MessageBox.Show("Uygulama Kurulumu..."); }
public override void Uninstall(System.Collections.IDictionary stateSaver) { System.Diagnostics.Debugger.Launch(); Üs. Uninstall(stateSaver); System.Windows.Forms.MessageBox.Show("Uygulamayı Kaldırıyor..."); }
}
} --
|
Önceki:Linq, SQL'de koşullu sorguları not in ve in uygularÖnümüzdeki:MySQL, veritabanında belirli bir zamanda oluşturulan tabloları sorgular
|